From 89e44d60763512c3d9130542554c6d2d07d6269a Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期一, 24 七月 2023 08:56:46 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/LogService.cs                                                 |   42 
 WebAPI/WebAPI.csproj.user                                            |    2 
 WebAPI/Controllers/CJGL/Sc_ProcExchSendWorkBillController.cs         |  226 
 WebAPI/Controllers/SCGL/日计划管理/JIT_DayPlanPlatFormImportController.cs |   43 
 DAL/车间管理/ClsSc_ProcessExchangeBill.cs                                |    2 
 WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs                  |  191 
 WarM/条码打印/Gy_BarCodeBill.cs                                          |  119 
 WebAPI/Controllers/人事管理/入职申请/HR_EmpEngageRequestBillController.cs    |  896 +++
 WarM/条码打印/Kf_WeighToBarCode.cs                                       |  259 
 WebAPI/Controllers/MateOutController.cs                              |  396 +
 WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs                 |  190 
 WebAPI/Controllers/CJGL/Sc_ProcExchRecordBackBillController.cs       |  107 
 WarM/报表分析/Kf_BarCodeOutInReport.designer.cs                          |   55 
 WebAPI/Properties/PublishProfiles/FolderProfile.pubxml               |    2 
 WarM/条码打印/Kf_WeighToBarCode.resx                                     |   15 
 WebAPI/Controllers/SCGL/Sc_ICMOReportBillController.cs               |  107 
 WebAPI/Controllers/基础资料/基础资料/Gy_ConkReasonBillController.cs          |  194 
 WebAPI/Controllers/BaseSet/Gy_WorkCenterController.cs                |  193 
 WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs         |  363 +
 WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs               |  111 
 WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs          |  229 
 WebAPI/Controllers/Sc_MouldRepairInBillListController.cs             |  683 ++
 WebAPI/Controllers/WebAPIController.cs                               |  154 
 WebAPI/Controllers/POStockInBillController.cs                        |    4 
 WebAPI/Controllers/生产管理/生产任务单/Sc_ICMOBillController.cs               |    4 
 WebAPI/Controllers/CJGL/Cj_StationEntrustOutBillController.cs        |  110 
 WebAPI/Controllers/项目管理/工作任务/PM_WorkTaskBillController.cs            | 1649 +++++
 WebAPI/Controllers/BaseSet/Gy_ProcessController.cs                   |  190 
 WebAPI/Controllers/项目管理/业绩指标/PM_YearEmployeeMoneyBillController.cs   |  754 ++
 WebAPI/Controllers/BaseSet/Gy_CustomerController.cs                  |  192 
 WebAPI/Controllers/SCGL/日计划管理/JIT_DayPlanPlatFormBillController.cs   |  637 +
 WebAPI/Controllers/基础资料/基础资料/Gy_SOPBillListController.cs             |   15 
 WebAPI/Controllers/工资管理/Pay_SingleBalBillController.cs               |  903 +++
 WebAPI/WebAPI.csproj                                                 |    8 
 WebAPI/Models/Sc_WorkBillSortBillMain.cs                             |    2 
 WarM/条码打印/Kf_WeighToBarCode.designer.cs                              |  126 
 WebAPI/Controllers/仓存管理/条码生成/Sc_BarCodeController.cs                 |   23 
 LMES/ClsShowMod.cs                                                   |    4 
 WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user          |  263 
 WebAPI/Controllers/条码管理/WEBSController.cs                            |  147 
 WebAPI/Controllers/基础资料/工资基础资料/Gy_ProcCommPriceController.cs         |  517 +
 WebAPI/Controllers/LMESController.cs                                 |  293 +
 WebAPI/Controllers/BaseSet/Gy_SourceController.cs                    |  191 
 WebAPI/Controllers/BaseSet/Gy_SupplierController.cs                  |  191 
 WebAPI/Controllers/工资管理/Pay_OtherBalBillController.cs                |  327 +
 WebAPI/Controllers/人事管理/离职申请/HR_EmpDimissionBillController.cs        |  792 ++
 WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs         |  109 
 WebAPI/Controllers/项目管理/工程项目/PM_ProjectBillController.cs             | 1050 +++
 WebAPI/Controllers/工资管理/Pay_GroupBalBillController.cs                |  949 +++
 WebAPI/Controllers/BaseSet/Gy_GroupController.cs                     |  196 
 WebAPI/Controllers/CJGL/Cj_StationInBillController.cs                |  107 
 WebAPI/Controllers/Sc_ProcessMangementController.cs                  |  113 
 WarM/报表分析/Kf_BarCodeOutInReport.cs                                   |   22 
 Pub_Class/CustomerCls/ClsPub.cs                                      |   12 
 WebAPI/Controllers/项目管理/项目阶段/Gy_ProjectStageController.cs            | 2202 +++++++
 WebAPI/libman.json                                                   |    5 
 56 files changed, 16,291 insertions(+), 395 deletions(-)

diff --git "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBill.cs" "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBill.cs"
index 0f49233..1963961 100644
--- "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBill.cs"
+++ "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBill.cs"
@@ -194,7 +194,7 @@
                       ",'" + oSub.HKeyProc + "','" + oSub.HFstProc + "'," + oSub.HICMOInterID.ToString() + ",'" + oSub.HICMOBillNo + "'," + oSub.HWWOrderInterID.ToString() +
                       "," + oSub.HWWOrderEntryID.ToString() + ",'" + oSub.HWWOrderBillNo + "'," + oSub.HReportQty.ToString() + "," + Convert.ToString(oSub.HBackProc ? 1 : 0) +
                       "," + oSub.HSupID.ToString() + "," + Convert.ToString(oSub.HSupFlag ? 1 : 0) + "," + oSub.HOverRate.ToString() + "," + oSub.HMaxQty.ToString() + ",'" + oSub.HTechnologyParameter + "','" + oSub.HProcCheckNote + "','" + oSub.HPicNum + "'" +
-                      ",'" + oSub.HMouldNo + "','" + oSub.HProcWorkNum + "','" + DBUtility.ClsPub.isStrNull(omodel.HSeOrderInterID) + "','" + DBUtility.ClsPub.isStrNull(omodel.HSeOrderEntryID) + "','" + oSub.HRelationQty_OutBad + "'" +
+                      ",'" + oSub.HMouldNo + "','" + oSub.HProcWorkNum + "','" + DBUtility.ClsPub.isInt(omodel.HSeOrderInterID) + "','" + DBUtility.ClsPub.isInt(omodel.HSeOrderEntryID) + "','" + DBUtility.ClsPub.isInt(oSub.HRelationQty_OutBad) + "'" +
                       ") ");
                     oCn.RunProc(sql1);
                 }
diff --git a/LMES/ClsShowMod.cs b/LMES/ClsShowMod.cs
index e25e5e0..65f73e7 100644
--- a/LMES/ClsShowMod.cs
+++ b/LMES/ClsShowMod.cs
@@ -3641,8 +3641,8 @@
                         break;
                     case "kf_weightobarcode":
                         //
-                        Kf_WeighToBarCode Kf_WeighToBarCode = new Kf_WeighToBarCode();
-                        Kf_WeighToBarCode.ShowDialog();
+                        Kf_WeighToBarCode oKf_WeighToBarCode = new Kf_WeighToBarCode();
+                        oKf_WeighToBarCode.ShowDialog();
                         break;
                     case "kf_barcodeoutinreport":
                         //权限
diff --git a/Pub_Class/CustomerCls/ClsPub.cs b/Pub_Class/CustomerCls/ClsPub.cs
index 70be5da..a6d9f87 100644
--- a/Pub_Class/CustomerCls/ClsPub.cs
+++ b/Pub_Class/CustomerCls/ClsPub.cs
@@ -919,7 +919,7 @@
                 {
                     if (Msg == true)
                     {
-                        MessageBox.Show("娌℃湁鎵惧埌璇ュ姛鑳芥ā鍧楋紒", "鎻愮ず");
+                        MessageBox.Show("娌℃湁鎵惧埌璇ュ姛鑳芥ā鍧楋紒" + gnsy.Trim() + "," + CurUserName.Trim(), "鎻愮ず");
                     }
                     return false;
                 }
@@ -935,7 +935,7 @@
                     {
                         if (Msg == true)
                         {
-                            MessageBox.Show("娌℃湁鎵惧埌褰撳墠鎿嶄綔鍛橈紒", "鎻愮ず");
+                            MessageBox.Show("娌℃湁鎵惧埌褰撳墠鎿嶄綔鍛橈紒" + gnsy.Trim() + "," + CurUserName.Trim(), "鎻愮ず");
                         }
                         return false;
                     }
@@ -946,7 +946,7 @@
                     }
                     else
                     {
-                        if (ClsPub.isStrNull(DsUser.Tables[0].Rows[0]["AuthorityID"]).Length > ModID
+                        if (ClsPub.isStrNull(DsUser.Tables[0].Rows[0]["AuthorityID"]).Length >= ModID
                             && DsUser.Tables[0].Rows[0]["AuthorityID"].ToString().Trim().Substring((int)ModID - 1, 1) == "1")
                         {
                             HavRight = true;
@@ -963,7 +963,7 @@
                             }
                             else
                             {
-                                HavRight = false;
+                                //HavRight = false;
                                 for (int i = 0; i < DsJS.Tables[0].Rows.Count; i++)
                                 {
                                     if (ClsPub.isStrNull(DsJS.Tables[0].Rows[i]["AuthorityID"]).Length > ModID)
@@ -984,7 +984,7 @@
                     {
                         if (Msg == true)
                         {
-                            MessageBox.Show("鎮ㄦ病鏈夋潈闄�,璇蜂笌绠$悊鍛樿仈绯伙紒", "鎻愮ず");
+                            MessageBox.Show("鎮ㄦ病鏈夋潈闄�,璇蜂笌绠$悊鍛樿仈绯伙紒" + gnsy.Trim() + "," + CurUserName.Trim(), "鎻愮ず");
                         }
                     }
                 }
@@ -999,7 +999,7 @@
             {
                 if (Msg == true)
                 {
-                    MessageBox.Show("鍒ゆ柇鏉冮檺鏃跺彂鐜伴敊璇�,璇蜂笌绠$悊鍛樿仈绯伙紒", "鎻愮ず");
+                    MessageBox.Show("鍒ゆ柇鏉冮檺鏃跺彂鐜伴敊璇�,璇蜂笌绠$悊鍛樿仈绯伙紒" + gnsy.Trim() + "," + CurUserName.Trim(), "鎻愮ず");
                 }
                 return false;
             }
diff --git "a/WarM/\346\212\245\350\241\250\345\210\206\346\236\220/Kf_BarCodeOutInReport.cs" "b/WarM/\346\212\245\350\241\250\345\210\206\346\236\220/Kf_BarCodeOutInReport.cs"
index e2effff..f7a318f 100644
--- "a/WarM/\346\212\245\350\241\250\345\210\206\346\236\220/Kf_BarCodeOutInReport.cs"
+++ "b/WarM/\346\212\245\350\241\250\345\210\206\346\236\220/Kf_BarCodeOutInReport.cs"
@@ -35,6 +35,8 @@
             dtpHEDate.Value = DateTime.Today;
             //鍔犺浇鍗曟嵁绫诲瀷淇℃伅
             Sub_AddBillTypeList();
+            //鍔犺浇缁勭粐淇℃伅
+            Sub_AddOrdList();
         }
 
         //鍔犺浇鍗曟嵁绫诲瀷淇℃伅
@@ -54,6 +56,25 @@
                 cmbBillType.Items.Add(DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBillTypeName"]));
             }
             cmbBillType.Text = "鍏ㄩ儴";
+        }
+        //鍔犺浇缁勭粐淇℃伅
+        private void Sub_AddOrdList()
+        {
+            DataSet ds;
+            DAL.ClsGy_ORGANIZATIONS_View oClsGy_ORGANIZATIONS_View = new DAL.ClsGy_ORGANIZATIONS_View();
+            ds = oClsGy_ORGANIZATIONS_View.GetList();
+            if (ds == null || ds.Tables[0].Rows.Count == 0)
+            {
+                MessageBox.Show("鑾峰彇缁勭粐澶辫触");
+                return;
+            }
+            cmbHOrgID.Items.Clear();
+            cmbHOrgID.Items.Add("鍏ㄩ儴");
+            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
+            {
+                cmbHOrgID.Items.Add(DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HName"]));
+            }
+            cmbHOrgID.Text = "鍏ㄩ儴";
         }
 
         //璁剧疆鎶ヨ〃鍚嶇О
@@ -184,6 +205,7 @@
             sDlgWhere = sDlgWhere + ",'" + txtHSPName.Text + "'";
             sDlgWhere = sDlgWhere + ",'" + txtHSourceBillNo.Text + "'";
             sDlgWhere = sDlgWhere + ",'" + txtHMaker.Text + "'";
+            sDlgWhere = sDlgWhere + ",'" + cmbHOrgID.Text + "'";
             if (sDlgWhere.Trim().Length > 0)
             {
                 sDlgWhere = sDlgWhere.Substring(1, sDlgWhere.Length - 1);
diff --git "a/WarM/\346\212\245\350\241\250\345\210\206\346\236\220/Kf_BarCodeOutInReport.designer.cs" "b/WarM/\346\212\245\350\241\250\345\210\206\346\236\220/Kf_BarCodeOutInReport.designer.cs"
index 8c70245..6ce5869 100644
--- "a/WarM/\346\212\245\350\241\250\345\210\206\346\236\220/Kf_BarCodeOutInReport.designer.cs"
+++ "b/WarM/\346\212\245\350\241\250\345\210\206\346\236\220/Kf_BarCodeOutInReport.designer.cs"
@@ -53,6 +53,7 @@
             this.grdMain = new System.Windows.Forms.DataGridView();
             this.groupBox1 = new System.Windows.Forms.GroupBox();
             this.txtHSourceBillNo = new System.Windows.Forms.TextBox();
+            this.txtHMaker = new System.Windows.Forms.TextBox();
             this.txtHBillNo = new System.Windows.Forms.TextBox();
             this.dtpHBDate = new System.Windows.Forms.DateTimePicker();
             this.cmbBillType = new System.Windows.Forms.ComboBox();
@@ -63,6 +64,7 @@
             this.txtHSPName = new System.Windows.Forms.TextBox();
             this.txtHWHName = new System.Windows.Forms.TextBox();
             this.label9 = new System.Windows.Forms.Label();
+            this.label11 = new System.Windows.Forms.Label();
             this.label8 = new System.Windows.Forms.Label();
             this.label7 = new System.Windows.Forms.Label();
             this.label10 = new System.Windows.Forms.Label();
@@ -72,8 +74,8 @@
             this.label6 = new System.Windows.Forms.Label();
             this.label2 = new System.Windows.Forms.Label();
             this.label3 = new System.Windows.Forms.Label();
-            this.label11 = new System.Windows.Forms.Label();
-            this.txtHMaker = new System.Windows.Forms.TextBox();
+            this.cmbHOrgID = new System.Windows.Forms.ComboBox();
+            this.label12 = new System.Windows.Forms.Label();
             this.Tool.SuspendLayout();
             this.pPic.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.grdMain)).BeginInit();
@@ -315,6 +317,8 @@
             // groupBox1
             // 
             this.groupBox1.BackColor = System.Drawing.Color.Lavender;
+            this.groupBox1.Controls.Add(this.cmbHOrgID);
+            this.groupBox1.Controls.Add(this.label12);
             this.groupBox1.Controls.Add(this.txtHSourceBillNo);
             this.groupBox1.Controls.Add(this.txtHMaker);
             this.groupBox1.Controls.Add(this.txtHBillNo);
@@ -350,6 +354,13 @@
             this.txtHSourceBillNo.Name = "txtHSourceBillNo";
             this.txtHSourceBillNo.Size = new System.Drawing.Size(122, 21);
             this.txtHSourceBillNo.TabIndex = 69;
+            // 
+            // txtHMaker
+            // 
+            this.txtHMaker.Location = new System.Drawing.Point(804, 40);
+            this.txtHMaker.Name = "txtHMaker";
+            this.txtHMaker.Size = new System.Drawing.Size(122, 21);
+            this.txtHMaker.TabIndex = 67;
             // 
             // txtHBillNo
             // 
@@ -430,6 +441,16 @@
             this.label9.Size = new System.Drawing.Size(65, 12);
             this.label9.TabIndex = 68;
             this.label9.Text = "婧愬崟鍗曞彿锛�";
+            // 
+            // label11
+            // 
+            this.label11.AutoSize = true;
+            this.label11.BackColor = System.Drawing.Color.Transparent;
+            this.label11.Location = new System.Drawing.Point(752, 44);
+            this.label11.Name = "label11";
+            this.label11.Size = new System.Drawing.Size(53, 12);
+            this.label11.TabIndex = 66;
+            this.label11.Text = "鍒跺崟浜猴細";
             // 
             // label8
             // 
@@ -521,22 +542,24 @@
             this.label3.TabIndex = 56;
             this.label3.Text = "浠� 浣嶏細";
             // 
-            // label11
+            // cmbHOrgID
             // 
-            this.label11.AutoSize = true;
-            this.label11.BackColor = System.Drawing.Color.Transparent;
-            this.label11.Location = new System.Drawing.Point(752, 44);
-            this.label11.Name = "label11";
-            this.label11.Size = new System.Drawing.Size(53, 12);
-            this.label11.TabIndex = 66;
-            this.label11.Text = "鍒跺崟浜猴細";
+            this.cmbHOrgID.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+            this.cmbHOrgID.FormattingEnabled = true;
+            this.cmbHOrgID.Location = new System.Drawing.Point(993, 40);
+            this.cmbHOrgID.Name = "cmbHOrgID";
+            this.cmbHOrgID.Size = new System.Drawing.Size(122, 20);
+            this.cmbHOrgID.TabIndex = 87;
             // 
-            // txtHMaker
+            // label12
             // 
-            this.txtHMaker.Location = new System.Drawing.Point(804, 40);
-            this.txtHMaker.Name = "txtHMaker";
-            this.txtHMaker.Size = new System.Drawing.Size(122, 21);
-            this.txtHMaker.TabIndex = 67;
+            this.label12.AutoSize = true;
+            this.label12.ForeColor = System.Drawing.Color.Black;
+            this.label12.Location = new System.Drawing.Point(931, 44);
+            this.label12.Name = "label12";
+            this.label12.Size = new System.Drawing.Size(65, 12);
+            this.label12.TabIndex = 86;
+            this.label12.Text = "缁�    缁囷細";
             // 
             // Kf_BarCodeOutInReport
             // 
@@ -610,5 +633,7 @@
         private System.Windows.Forms.ToolStripButton dc;
         public System.Windows.Forms.TextBox txtHMaker;
         private System.Windows.Forms.Label label11;
+        private System.Windows.Forms.ComboBox cmbHOrgID;
+        private System.Windows.Forms.Label label12;
     }
 }
\ No newline at end of file
diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill.cs"
index 92c9009..13cd884 100644
--- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill.cs"
+++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill.cs"
@@ -81,6 +81,11 @@
         public const Int16 HShowDateCol = 60;
         public const Int16 HInnerBillNoCol = 61;
         public const Int16 HMakerCol = 62;
+        public const Int16 HProduceDateCol = 63;
+        public const Int16 HExpiryDateCol = 64;
+        public const Int16 HISKFPERIODCol = 65;
+        public const Int16 HEXPUNITCol = 66;
+        public const Int16 HEXPPERIODCol = 67;
 
         public Int16 HSelectCol = 0;
         public Int16 HSno2Col = 1;
@@ -142,6 +147,11 @@
         public Int16 HInnerBillNo2Col = 57; 
         public Int16 HMaker2Col = 58;
         public Int16 HEntryID2Col = 59;
+        public Int16 HProduceDate2Col = 60;
+        public Int16 HExpiryDate2Col = 61;
+        public Int16 HISKFPERIOD2Col = 62;
+        public Int16 HEXPUNIT2Col = 63;
+        public Int16 HEXPPERIOD2Col = 64;
         //
         public  string ModName = "85";
         public  string ModCaption = "鏉$爜鐢熸垚";
@@ -626,6 +636,45 @@
                     {
                         sHRemark= sHRemark+DBUtility.ClsPub.isStrNull(oDsCheck.Tables[0].Rows[0]["HRemark"]);
                     }
+                    else
+                    {
+                        if (DBUtility.ClsPub.isBool(oDsCheck.Tables[0].Rows[0]["HISKFPERIOD"]))
+                        {
+                            DateTime HProduceDate;  //鐢熶骇鏃ユ湡
+                            string HEXPUNIT;        //淇濊川鏈熷崟浣�
+                            int HEXPPERIOD;         //淇濊川鏈�
+
+                            HProduceDate = dtpHDate.Value;
+                            HEXPUNIT = DBUtility.ClsPub.isStrNull(oDsCheck.Tables[0].Rows[0]["HEXPUNIT"]);
+                            HEXPPERIOD = DBUtility.ClsPub.isInt(oDsCheck.Tables[0].Rows[0]["HEXPPERIOD"]);
+
+                            grdMain.Rows[j].Cells[HISKFPERIODCol].Value = 1;
+                            grdMain.Rows[j].Cells[HEXPUNITCol].Value = HEXPUNIT;
+                            grdMain.Rows[j].Cells[HEXPPERIODCol].Value = HEXPPERIOD.ToString();
+                            grdMain.Rows[j].Cells[HProduceDateCol].Value = HProduceDate.ToShortDateString();
+
+                            if (HEXPUNIT == "Y")
+                            {
+                                grdMain.Rows[j].Cells[HExpiryDateCol].Value = HProduceDate.AddYears(HEXPPERIOD).ToShortDateString();
+                            }
+                            else if (HEXPUNIT == "M")
+                            {
+                                grdMain.Rows[j].Cells[HExpiryDateCol].Value = HProduceDate.AddMonths(HEXPPERIOD).ToShortDateString();
+                            }
+                            else
+                            {
+                                grdMain.Rows[j].Cells[HExpiryDateCol].Value = HProduceDate.AddDays(HEXPPERIOD).ToShortDateString();
+                            }
+                        }
+                        else
+                        {
+                            grdMain.Rows[j].Cells[HISKFPERIODCol].Value = 0;
+                            grdMain.Rows[j].Cells[HEXPUNITCol].Value = "";
+                            grdMain.Rows[j].Cells[HEXPPERIODCol].Value = 0;
+                            grdMain.Rows[j].Cells[HProduceDateCol].Value = "";
+                            grdMain.Rows[j].Cells[HExpiryDateCol].Value = "";
+                        }
+                    }
                 }
             }
             if(sHRemark!="")
@@ -993,12 +1042,24 @@
                         grdSub.Rows[i].Cells[HInnerBillNo2Col].Value = grdMain.Rows[j].Cells[HInnerBillNoCol].Value;
                         grdSub.Rows[i].Cells[HMaker2Col].Value = grdMain.Rows[j].Cells[HMakerCol].Value;
                         grdSub.Rows[i].Cells[HGiveAwayFlag2Col].Value = grdMain.Rows[j].Cells[HGiveAwayFlagCol].Value;
+                        grdSub.Rows[i].Cells[HProduceDate2Col].Value = grdMain.Rows[j].Cells[HProduceDateCol].Value;
+                        grdSub.Rows[i].Cells[HExpiryDate2Col].Value = grdMain.Rows[j].Cells[HExpiryDateCol].Value;
+                        grdSub.Rows[i].Cells[HISKFPERIOD2Col].Value = grdMain.Rows[j].Cells[HISKFPERIODCol].Value;
+                        grdSub.Rows[i].Cells[HEXPUNIT2Col].Value = grdMain.Rows[j].Cells[HEXPUNITCol].Value;
+                        grdSub.Rows[i].Cells[HEXPPERIOD2Col].Value = grdMain.Rows[j].Cells[HEXPPERIODCol].Value;
                         //缃戞牸鎵撳嬀
+                        //鏄惁璧犲搧
                         DataGridViewCheckBoxCell oCell = new DataGridViewCheckBoxCell();
                         oCell.ThreeState = false;
                         oCell.Value = grdSub.Rows[i].Cells[HGiveAwayFlag2Col].Value;
                         oCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
                         grdSub.Rows[i].Cells[HGiveAwayFlag2Col] = oCell;
+                        //鏄惁鍚敤淇濊川鏈�
+                        DataGridViewCheckBoxCell oCell2 = new DataGridViewCheckBoxCell();
+                        oCell2.ThreeState = false;
+                        oCell2.Value = grdSub.Rows[i].Cells[HISKFPERIOD2Col].Value;
+                        oCell2.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
+                        grdSub.Rows[i].Cells[HISKFPERIOD2Col] = oCell2;
                         k = k + 1;
                         n = n + 1;
                         //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'");
@@ -1042,6 +1103,11 @@
             string HInnerBillNo = "";
             bool HGiveAwayFlag = false;
             Int64 HEntryID = 0;
+            string HProduceDate;
+            string HExpiryDate;
+            bool HISKFPERIOD = false;
+            string HEXPUNIT = "";
+            double HEXPPERIOD = 0;
             try
             {
                 oCn.BeginTran();
@@ -1087,6 +1153,25 @@
                         HSeOrderSEQ = ClsPub.isLong(grdSub.Rows[i].Cells[HSeOrderSEQ2Col].Value);
                         HInnerBillNo = ClsPub.isStrNull(grdSub.Rows[i].Cells[HInnerBillNo2Col].Value);
                         HGiveAwayFlag = ClsPub.isBool(grdSub.Rows[i].Cells[HGiveAwayFlag2Col].Value);
+                        if (ClsPub.isDate(grdSub.Rows[i].Cells[HProduceDate2Col].Value) < Convert.ToDateTime("1950-01-01"))
+                        {
+                            HProduceDate = "";
+                        }
+                        else
+                        {
+                            HProduceDate = ClsPub.isStrNull(grdSub.Rows[i].Cells[HProduceDate2Col].Value);
+                        }
+                        if (ClsPub.isDate(grdSub.Rows[i].Cells[HExpiryDate2Col].Value) < Convert.ToDateTime("1950-01-01"))
+                        {
+                            HExpiryDate = "";
+                        }
+                        else
+                        {
+                            HExpiryDate = ClsPub.isStrNull(grdSub.Rows[i].Cells[HExpiryDate2Col].Value);
+                        }
+                        HISKFPERIOD = ClsPub.isBool(grdSub.Rows[i].Cells[HISKFPERIOD2Col].Value);
+                        HEXPUNIT = ClsPub.isStrNull(grdSub.Rows[i].Cells[HEXPUNIT2Col].Value);
+                        HEXPPERIOD = ClsPub.isDoule(grdSub.Rows[i].Cells[HEXPPERIOD2Col].Value);
                         oCn.RunProc("insert into Gy_BarCodeBill (HBarCode,HBarCodeType,HMaterID,HUnitID,HQty" +
                                     ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HinitQty" +
                                     ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HEndQty " +
@@ -1094,6 +1179,8 @@
                                     ",HCusID,HCusType,HEndDate,HWorkLineName,HBarCodeDate " +
                                     ",HSTOCKORGID,HOWNERID,HSeOrderBillNo,HInterID,HEntryID " +
                                     ",HGiveAwayFlag,HSeOrderSEQ,HInitSourceEntryID " +
+                                    ",HProduceDate,HExpiryDate " +
+                                    ",HISKFPERIOD,HEXPUNIT,HEXPPERIOD " +
                                     ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo " +
                                     ") values ("
                                     + "'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID.ToString() + "," + HUnitID.ToString() + "," + HQty2.ToString()
@@ -1101,8 +1188,10 @@
                                     + ", " + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HWei + "'"
                                     + ", " + HBarcodeQtys.ToString() + "," + HBarcodeNo.ToString() + "," + HDeptID.ToString() + "," + HWhID.ToString() + "," + HSPID.ToString() + ",'" + HRemark + "'"
                                     + ", " + HCusID.ToString() + ",'" + HCusType + "','" + HEndDate.ToShortDateString() + "','" + HWorkLineName + "','" + sDate + "'"
-                                    + ", " + HOrgID.ToString() + "," + HOrgID.ToString() + ",'" + HSeOrderBillNo + "'," + HInterID.ToString() + "," + HEntryID.ToString() + ""
+                                    + ", " + HOrgID.ToString() + "," + HOrgID.ToString() + ",'" + HSeOrderBillNo + "'," + HInterID.ToString() + "," + HEntryID.ToString()
                                     + ", " + DBUtility.ClsPub.BoolToString(HGiveAwayFlag) + "," + HSeOrderSEQ.ToString() + "," + HSourceEntryID.ToString()
+                                    + ", " + (HProduceDate == "" ? "NULL" : "'" + HProduceDate + "'") + "," + (HExpiryDate == "" ? "NULL" : "'" + HExpiryDate + "'")
+                                    + ", " + DBUtility.ClsPub.BoolToString(HISKFPERIOD) + ",'" + HEXPUNIT + "'," + HEXPPERIOD.ToString()
                                     + ",'" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "'," + HAuxPropID.ToString() + ",'" + HMTONo + "','" + HInnerBillNo + "')");
 
 
@@ -1509,7 +1598,7 @@
             //
             grdMain.RowCount = 0;
             grdSub.RowCount = 0;
-            grdMain.ColumnCount = 63;                       //鎬诲垪鏁�
+            grdMain.ColumnCount = 68;                       //鎬诲垪鏁�
             DBUtility.Xt_BaseBillFun.initGridFst(grdMain, this.Name);
             grdMain.Columns[HSnoCol].HeaderText = "搴忓彿";
             grdMain.Columns[HMainIDCol].HeaderText = "婧愬崟涓籌D";
@@ -1566,6 +1655,11 @@
             grdMain.Columns[HShowDateCol].HeaderText = "鏃ユ湡";
             grdMain.Columns[HInnerBillNoCol].HeaderText = "鍐呴儴閲囪喘璁㈠崟鍙�";
             grdMain.Columns[HMakerCol].HeaderText = "鍒跺崟浜�";
+            grdMain.Columns[HProduceDateCol].HeaderText = "鐢熶骇鏃ユ湡";
+            grdMain.Columns[HExpiryDateCol].HeaderText = "鏈夋晥鏈熻嚦";
+            grdMain.Columns[HISKFPERIODCol].HeaderText = "鏄惁鍚敤淇濊川鏈�";
+            grdMain.Columns[HEXPUNITCol].HeaderText = "淇濊川鏈熷崟浣�";
+            grdMain.Columns[HEXPPERIODCol].HeaderText = "淇濊川鏈�";
             ////
             //鏍煎紡鍖� 
             grdMain.Columns[HTagCol].Visible = false;                           //闅愯棌鍒�
@@ -1613,7 +1707,12 @@
             grdMain.Columns[HSourceIDCol].Visible = false;
             grdMain.Columns[HSourceNumberCol].Visible = false;
             grdMain.Columns[HSourceNameCol].Visible = false;
-            
+            grdMain.Columns[HProduceDateCol].Visible = false;
+            grdMain.Columns[HExpiryDateCol].Visible = false;
+            grdMain.Columns[HISKFPERIODCol].Visible = false;
+            grdMain.Columns[HEXPUNITCol].Visible = false;
+            grdMain.Columns[HEXPPERIODCol].Visible = false;
+
             //璁剧疆鍙紪杈戝垪
             string sAllowCol =  HQtyCol.ToString()+
                                 "," + HMinQtyCol.ToString() +
@@ -1643,7 +1742,7 @@
             DBUtility.Xt_BaseBillFun.initGridLast(sAllowCol, sTotalCol,oSumGrid);
             //----------------------------
 
-            grdSub.ColumnCount = 60;                       //鎬诲垪鏁�
+            grdSub.ColumnCount = 65;                       //鎬诲垪鏁�
             DBUtility.Xt_BaseBillFun.initGridFst(grdSub, this.Name);
             grdSub.Columns[HSelectCol].HeaderText = "閫夋嫨";
             grdSub.Columns[HTMCol].HeaderText = "鏉$爜缂栧彿";
@@ -1703,6 +1802,11 @@
             grdSub.Columns[HInnerBillNo2Col].HeaderText = "鍐呴儴閲囪喘璁㈠崟鍙�";
             grdSub.Columns[HMaker2Col].HeaderText = "鍒跺崟浜�";
             grdSub.Columns[HEntryID2Col].HeaderText = "琛屽彿";
+            grdSub.Columns[HProduceDate2Col].HeaderText = "鐢熶骇鏃ユ湡";
+            grdSub.Columns[HExpiryDate2Col].HeaderText = "鏈夋晥鏈熻嚦";
+            grdSub.Columns[HISKFPERIOD2Col].HeaderText = "鏄惁鍚敤淇濊川鏈�";
+            grdSub.Columns[HEXPUNIT2Col].HeaderText = "淇濊川鏈熷崟浣�";
+            grdSub.Columns[HEXPPERIOD2Col].HeaderText = "淇濊川鏈�";
             //鏍煎紡鍖� 
             grdSub.Columns[HMaterID2Col].Visible = false;
             grdSub.Columns[HModel2Col].Visible = false;
@@ -1751,11 +1855,18 @@
             for (int i = 0; i < grdSub.Rows.Count; i++)
             {
                 //缃戞牸鎵撳嬀
+                //鏄惁璧犲搧
                 DataGridViewCheckBoxCell oCell = new DataGridViewCheckBoxCell();
                 oCell.ThreeState = false;
                 oCell.Value = 0;
                 oCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
                 grdSub.Rows[i].Cells[HGiveAwayFlag2Col] = oCell;
+                //鏄惁鍚敤淇濊川鏈�
+                DataGridViewCheckBoxCell oCell2 = new DataGridViewCheckBoxCell();
+                oCell2.ThreeState = false;
+                oCell2.Value = 0;
+                oCell2.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
+                grdSub.Rows[i].Cells[HISKFPERIOD2Col] = oCell2;
             }
 
             DBUtility.Xt_BaseBillFun.GetGrid(grdMain, this.Name);
diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.cs"
index 2d1d3ef..5c18417 100644
--- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.cs"
+++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.cs"
@@ -60,6 +60,7 @@
             txtHBarCode.Text = "";
             grdMain.DataSource = null;
             grdSub.DataSource = null;
+            chkHDYFlag.Checked = true;
         }
 
         //绐椾綋鍔犺浇
@@ -308,6 +309,19 @@
 
         private bool Sub_SaveBill()
         {
+            //绉伴噸璁板綍鍒楄〃鏄惁鏈夎褰曞垽鏂�
+            bool b = false;
+            for (int i = 0; i < grdMain.RowCount; i++)
+            {
+                    b = true;
+                    break;
+            }
+            if (b == false)
+            {
+                MessageBox.Show("褰撳墠绉伴噸璁板綍鍒楄〃鏃犳暟鎹紝涓嶅厑璁告崲鐝敓鎴愬崟鎹紒", "鎻愮ず");
+                return false;
+            }
+
             //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
             string s = "";
             int sYear = 0;
@@ -461,15 +475,36 @@
             BarCode_Display();
             grdMain.Rows[0].Selected = true;
 
-            //鎵撳嵃鏉$爜
             sBarCodeItemID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.SelectedRows[0].Index].Cells[Fun_GetCol("HItemID")].Value).ToString();
-            Sub_SetReport("鐗╂枡鏉$爜");
-            Report.Print(false);
-            Thread.Sleep(1000);
+            //鑷姩鎵撳嵃
+            if (chkHDYFlag.Checked == true)
+            {
+                //鎵撳嵃鏉$爜
+                Sub_SetReport("鐗╂枡鏉$爜");
+                Report.Print(false);
+                Thread.Sleep(1000);
+            }
+            else
+            {
+                //閫夋嫨鎵撳嵃妯℃澘
+                BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp();
+                oFrm.sBillName = ModName;
+                oFrm.sBillModel = ModCaption;
+                oFrm.ShowDialog();
+                if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK)
+                {
+                    Sub_SetReport(oFrm.sOpenTmp);
+                    Report.Print(false);
+                    Thread.Sleep(1000);
+                }
+            }
 
             txtHQty.Text = "";
             txtHWeightQyt.Text = "";
             txtHKDQty.Text = "";
+            txtHBarcodeNo.Text = "";
+            txtHRemark.Text = "";
+            txtHRemark.Tag = 0;
             txtHQty.Focus();
         }
 
@@ -489,6 +524,11 @@
             else if (DBUtility.ClsPub.isDoule( txtHWeightQyt.Text) == 0)
             {
                 MessageBox.Show("璇疯緭鍏ユ纭噸閲忥紒", "鎻愮ず");
+                return false;
+            }
+            else if (DBUtility.ClsPub.isInt(txtHBarcodeNo.Text) == 0)
+            {
+                MessageBox.Show("璇疯緭鍏ュ寘鍙凤紒", "鎻愮ず");
                 return false;
             }
             else if (HWhID==0)
@@ -568,6 +608,8 @@
             string HMaterName = "";
             string HMaterModel = "";
             string ProcessExchangeBillNo = "";
+            Int64 HBarcodeNo = 0;       //鍖呮暟
+            Int64 HBadReasonID = 0;     //涓嶈壇鍘熷洜ID
 
             HBarCode = TM;
             HBarCodeType = DBUtility.ClsPub.isStrNull(cmbHBarCodeType.Text);
@@ -579,6 +621,8 @@
             HMaterName = DBUtility.ClsPub.isStrNull(txtHMaterName.Text);
             HMaterModel = DBUtility.ClsPub.isStrNull(txtHMaterModel.Text);
             ProcessExchangeBillNo = DBUtility.ClsPub.isStrNull(txtHBillNo.Text);
+            HBarcodeNo = DBUtility.ClsPub.isLong(txtHBarcodeNo.Text);
+            HBadReasonID = DBUtility.ClsPub.isLong(txtHRemark.Tag);
 
             try
             {
@@ -591,23 +635,23 @@
                 ",HBarcodeQtys,HBarcodeNo,HDeptID,HWhID,HSPID,HRemark " +
                 ",HCusID,HCusType,HEndDate,HWorkLineName,HBarCodeDate,HMaterialJQty,HMaterialMQty " +
                 ",HSTOCKORGID,HOWNERID,HSeOrderBillNo,HInterID,HGiveAwayFlag " +
-                ",HOrderInterID,HOrderEntryID,HOrderBillNo " +
+                ",HOrderInterID,HOrderEntryID,HOrderBillNo,HCustomQty1 " +
                 ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo " +
                 ") Values ("
                 + "'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID.ToString() + "," + HUnitID.ToString() + "," + HQty.ToString()
                 + ",'" + HBatchNo + "'," + HSupID.ToString() + ",0,'" + HMaker + "',getdate(),0," + HQty.ToString()
                 + ", " + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "',''"
-                + ", 1,1," + HDeptID.ToString() + "," + HWhID.ToString() + "," + HSPID.ToString() + ",'" + HRemark + "'"
+                + ", 1," + HBarcodeNo.ToString() + "," + HDeptID.ToString() + "," + HWhID.ToString() + "," + HSPID.ToString() + ",'" + HRemark + "'"
                 + ", 0,'',getdate(),'','" + sDate + "'," + HMaterialJQty.ToString() + "," + HMaterialMQty.ToString()
                 + ", " + HStockOrgID.ToString() + "," + HStockOrgID.ToString() + ",''," + HInterID.ToString() + ",0"
-                + ", " + ProcessExchangeInterID.ToString() + ",0,'" + ProcessExchangeBillNo + "'"
+                + ", " + ProcessExchangeInterID.ToString() + ",0,'" + ProcessExchangeBillNo + "'," + HBadReasonID.ToString()
                 + ",'" + HMaterName + "','" + HMaterModel + "',''," + HAuxPropID.ToString() + ",'','')");
 
                 //鍥炲~鏈�澶ф祦姘村彿
                 oCn.RunProc("exec h_p_WMS_SetMaxNo_QTY '" + sTMNumber + "',1 ");
 
                 //鍥炲~婧愬崟涓存椂琛℉InterID
-                oCn.RunProc("update a set a.HInterID=" + HInterID.ToString() + " from KF_WeighSource_Temp a where a.HInterID<>" + HInterID.ToString() + " and a.HMaker='" + HMaker + "' and convert(varchar(10),a.HMakeDate,120)=convert(varchar(10),getdate(),120)");
+                oCn.RunProc("update a set a.HInterID=" + HInterID.ToString() + ",a.HBillNo='" + HBillNo + "' from KF_WeighSource_Temp a where a.HInterID<>" + HInterID.ToString() + " and a.HMaker='" + HMaker + "' and convert(varchar(10),a.HMakeDate,120)=convert(varchar(10),getdate(),120)");
 
                 //鍐欏叆鏉$爜鍑哄叆搴撲复鏃惰〃
                 oCn.RunProc("Insert into KF_PonderationBillMain_Temp " +
@@ -623,7 +667,7 @@
                     + "," + HWhID.ToString() + ",0," + HSPID.ToString() + ",0,0,''"
                     +",0," + HQty.ToString() + ",1,'" + HBatchNo + "','" + HBarCode + "',''"
                     +",'" + HMaker + "',getdate()," + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillType + "','" + HSourceBillNo + "'"
-                    +",0,0,'0',0,'',0"
+                    +",0,0,'',0,'',0"
                     +"," + HStockOrgID.ToString() + "," + HStockOrgID.ToString() + "," + HStockOrgID.ToString() + ",'','绉伴噸鍏ュ簱鐢熸垚','2'"
                     +",0,0,'',0)");
 
@@ -708,5 +752,202 @@
 
         #endregion
 
+        #region  //浣滃簾
+        private void cmdZF_Click(object sender, EventArgs e)
+        {
+            if (grdMain.CurrentRow == null)
+            {
+                MessageBox.Show("璇峰厛閫夋嫨闇�瑕佷綔搴熺殑鏉$爜锛�", "鎻愮ず");
+                return;
+            }
+            else
+            {
+                if (MessageBox.Show("纭畾瑕佷綔搴熸墍閫夋潯鐮侊紵", "鎻愮ず", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
+                {
+                    return;
+                }
+                else
+                {
+                    string HRemark = "";
+                    string HItemID = "";
+                    string HBarCode = "";
+                    string HBarCode2 = "";
+                    for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
+                    {
+                        HItemID = HItemID + "," + DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value.ToString());
+                        HBarCode = HBarCode + ",'" + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("鏉$爜缂栧彿")].Value) + "'";
+                        if (i != 0 && i % 100 == 0)
+                        {
+                            HBarCode2 = HBarCode2 + "#" + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("鏉$爜缂栧彿")].Value);
+                        }
+                        else
+                        {
+                            HBarCode2 = HBarCode2 + "," + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("鏉$爜缂栧彿")].Value);
+                        }
+                        if (DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("浣滃簾鏍囪")].Value) != "")
+                        {
+                            HRemark = HRemark + "銆�" + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("鏉$爜缂栧彿")].Value);
+                        }
+                    }
+                    if (HRemark != "")
+                    {
+                        MessageBox.Show("鎵�閫夋潯鐮佺紪鍙凤細"+ HRemark.Remove(0, 1)+" 宸蹭綔搴燂紝涓嶅厑璁搁噸澶嶄綔搴燂紒", "鎻愮ず");
+                        return;
+                    }
+                    HItemID = HItemID.Remove(0, 1);     //鍘绘帀瀛楃涓茬涓�涓瓧绗�
+                    HBarCode = HBarCode.Remove(0, 1);
+                    HBarCode2 = HBarCode2.Remove(0, 1);
+
+                    try
+                    {
+                        oCn.BeginTran();
+                        string[] NewBarCode;
+                        NewBarCode = HBarCode2.Split(Convert.ToChar("#"));
+
+                        //浣滃簾鏉$爜
+                        oCn.RunProc("update Gy_BarCodeBill set HStopflag=1,HDeleteMan='" + DBUtility.ClsPub.CurUserName + "',HDeleteDate=getdate() where HItemID in (" + HItemID + ")", ref DBUtility.ClsPub.sExeReturnInfo);
+                        //鍒犻櫎鏉$爜鍑哄叆搴撲复鏃惰〃璁板綍
+                        oCn.RunProc("delete from KF_PonderationBillMain_Temp where HInterID=" + HInterID.ToString() + " and HBillType='" + HBillType + "' and HBarCode in (" + HBarCode + ")", ref DBUtility.ClsPub.sExeReturnInfo);
+                        //鍐欏叆绯荤粺鏃ュ織
+                        for (int i = 0; i <= NewBarCode.Length - 1; i++)
+                        {
+                            oCn.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + DBUtility.ClsPub.CurUserName + "','" + DBUtility.ClsPub.ComputerName + "','浣滃簾鏉$爜锛�" + NewBarCode[i] + "','绉伴噸鍏ュ簱妯″潡','" + DBUtility.ClsPub.IPAddress + "','浣滃簾'", ref DBUtility.ClsPub.sExeReturnInfo);
+                        }
+                        oCn.Commit();
+                    }
+                    catch (Exception e2)
+                    {
+                        oCn.RollBack();
+                        MessageBox.Show("浣滃簾鏉$爜澶辫触锛�" + e2.Message, "鎻愮ず");
+                        return;
+                    }
+                    //鍒锋柊绉伴噸璁板綍鍒楄〃淇℃伅
+                    BarCode_Display();
+                    MessageBox.Show("鎵�閫夋潯鐮佺紪鍙凤細" + HBarCode.Remove(0, 1) + " 浣滃簾鎴愬姛锛�", "鎻愮ず");
+                }
+            }
+        }
+
+        #endregion
+
+        #region  //鍙嶄綔搴�
+        private void cmdFZF_Click(object sender, EventArgs e)
+        {
+            if (grdMain.CurrentRow == null)
+            {
+                MessageBox.Show("璇峰厛閫夋嫨闇�瑕佸弽浣滃簾鐨勬潯鐮侊紒", "鎻愮ず");
+                return;
+            }
+            else
+            {
+                if (MessageBox.Show("纭畾瑕佸弽浣滃簾鎵�閫夋潯鐮侊紵", "鎻愮ず", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
+                {
+                    return;
+                }
+                else
+                {
+                    string HRemark = "";
+                    string HItemID = "";
+                    string HBarCode = "";
+                    string HBarCode2 = "";
+                    for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
+                    {
+                        HItemID = HItemID + "," + DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("hmainid")].Value.ToString());
+                        HBarCode = HBarCode + ",'" + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("鏉$爜缂栧彿")].Value) + "'";
+                        if (i != 0 && i % 100 == 0)
+                        {
+                            HBarCode2 = HBarCode2 + "#" + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("鏉$爜缂栧彿")].Value);
+                        }
+                        else
+                        {
+                            HBarCode2 = HBarCode2 + "," + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("鏉$爜缂栧彿")].Value);
+                        }
+                        if (DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("浣滃簾鏍囪")].Value) == "")
+                        {
+                            HRemark = HRemark + "銆�" + DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[i].Cells[Fun_GetCol("鏉$爜缂栧彿")].Value);
+                        }
+                    }
+                    if (HRemark != "")
+                    {
+                        MessageBox.Show("鎵�閫夋潯鐮佺紪鍙凤細" + HRemark.Remove(0, 1) + " 鏈綔搴燂紝涓嶅厑璁稿弽浣滃簾锛�", "鎻愮ず");
+                        return;
+                    }
+                    HItemID = HItemID.Remove(0, 1);     //鍘绘帀瀛楃涓茬涓�涓瓧绗�
+                    HBarCode = HBarCode.Remove(0, 1);
+                    HBarCode2 = HBarCode2.Remove(0, 1);
+
+                    try
+                    {
+                        oCn.BeginTran();
+                        string[] NewBarCode;
+                        NewBarCode = HBarCode2.Split(Convert.ToChar("#"));
+
+                        //鍙嶄綔搴熸潯鐮�
+                        oCn.RunProc("update Gy_BarCodeBill set HStopflag=0,HDeleteMan='',HDeleteDate=null where HItemID in (" + HItemID + ")", ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        //鍒犻櫎鏉$爜鍑哄叆搴撲复鏃惰〃璁板綍
+                        oCn.RunProc("delete from KF_PonderationBillMain_Temp where HInterID=" + HInterID.ToString() + " and HBillType='" + HBillType + "' and HBarCode in (" + HBarCode + ")", ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        //鍐欏叆鏉$爜鍑哄叆搴撲复鏃惰〃
+                        oCn.RunProc("Insert into KF_PonderationBillMain_Temp " +
+                        "(HInterID,HBillNo,HBillType,HMaterID,HAuxPropID,HProcID" +
+                        ",HWhID,HSCWHID,HStockPlaceID,HOutStockPlaceID,HGroupID,HAddr" +
+                        ",HQtyMust,HQty,HPieceQty,HBatchNo,HBarCode,HBarCode_Pack" +
+                        ",HMaker,HMakeDate,HSourceInterID,HSourceEntryID,HSourceBillType,HSourceBillNo" +
+                        ",HRelationInterID,HRelationEntryID,HRelationBillNo,HRedBlueFlag,HMTONo,HPlanMode" +
+                        ",HSTOCKORGID,HOtherOrgID,HOWNERID,HOWNERTYPEID,HExpressNumber,HSubBillType" +
+                        ",HCusID,HDeptID,HCusBarCode,HMulSourceBill) " +
+                        " select " + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "',HMaterID,HAuxPropID,0" +
+                        ",HWhID,0,HSPID,0,0,''" +
+                        ",0,HQty,1,HBatchNo,HBarCode,''" +
+                        ",'" + HMaker + "',getdate(),HSourceInterID,HSourceEntryID,HSourceBillType,HSourceBillNo" +
+                        ",0,0,'',0,'',0" +
+                        ",HSTOCKORGID,HSTOCKORGID,HSTOCKORGID,'','绉伴噸鍏ュ簱鐢熸垚-鍙嶄綔搴�','2'" +
+                        ",0,0,'',0" +
+                        "from Gy_BarCodeBill with(nolock) where HItemID in (" + HItemID + ")"
+                        );
+
+                        //鍐欏叆绯荤粺鏃ュ織
+                        for (int i = 0; i <= NewBarCode.Length - 1; i++)
+                        {
+                            oCn.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + DBUtility.ClsPub.CurUserName + "','" + DBUtility.ClsPub.ComputerName + "','鍙嶄綔搴熸潯鐮侊細" + NewBarCode[i] + "','绉伴噸鍏ュ簱妯″潡','" + DBUtility.ClsPub.IPAddress + "','鍙嶄綔搴�'", ref DBUtility.ClsPub.sExeReturnInfo);
+                        }
+                        oCn.Commit();
+                    }
+                    catch (Exception e2)
+                    {
+                        oCn.RollBack();
+                        MessageBox.Show("鍙嶄綔搴熸潯鐮佸け璐ワ紒" + e2.Message, "鎻愮ず");
+                        return;
+                    }
+                    //鍒锋柊绉伴噸璁板綍鍒楄〃淇℃伅
+                    BarCode_Display();
+                    MessageBox.Show("鎵�閫夋潯鐮佺紪鍙凤細" + HBarCode.Remove(0, 1) + " 鍙嶄綔搴熸垚鍔燂紒", "鎻愮ず");
+                }
+            }
+        }
+
+
+        #endregion
+
+        #region  //澶囨敞   涓嶈壇鍘熷洜閫夋嫨
+        private void cmdHBadReasonID_Click(object sender, EventArgs e)
+        {
+            DAL.ClsGy_BadReason_View oBadReason = new DAL.ClsGy_BadReason_View();
+            if (oBadReason.RefreshView())
+            {
+                this.txtHRemark.Text = oBadReason.oModel.HName;
+                this.txtHRemark.Tag = oBadReason.oModel.HItemID.ToString();
+            }
+        }
+
+        #endregion
+
+
+
+
+
+
+
     }
 }
\ No newline at end of file
diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.designer.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.designer.cs"
index bd6d605..5094230 100644
--- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.designer.cs"
+++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.designer.cs"
@@ -30,8 +30,8 @@
         {
             this.components = new System.ComponentModel.Container();
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Kf_WeighToBarCode));
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
             this.Tool = new System.Windows.Forms.ToolStrip();
             this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
             this.mrlk = new System.Windows.Forms.ToolStripButton();
@@ -55,6 +55,8 @@
             this.label4 = new System.Windows.Forms.Label();
             this.txtHMaterNumber = new System.Windows.Forms.TextBox();
             this.gbUp = new System.Windows.Forms.GroupBox();
+            this.cmdFZF = new System.Windows.Forms.Button();
+            this.cmdZF = new System.Windows.Forms.Button();
             this.txtHDeptName = new System.Windows.Forms.TextBox();
             this.label12 = new System.Windows.Forms.Label();
             this.txtHBatchNo = new System.Windows.Forms.TextBox();
@@ -88,6 +90,10 @@
             this.涓棿 = new System.Windows.Forms.Panel();
             this.搴曢儴 = new System.Windows.Forms.Panel();
             this.鍙充晶 = new System.Windows.Forms.Panel();
+            this.chkHDYFlag = new System.Windows.Forms.CheckBox();
+            this.cmdHBadReasonID = new System.Windows.Forms.Button();
+            this.label13 = new System.Windows.Forms.Label();
+            this.txtHBarcodeNo = new System.Windows.Forms.TextBox();
             this.Tool.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.grdMain)).BeginInit();
             this.gbUp.SuspendLayout();
@@ -260,14 +266,14 @@
             this.grdMain.AllowUserToDeleteRows = false;
             this.grdMain.BackgroundColor = System.Drawing.SystemColors.ControlLightLight;
             this.grdMain.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
-            dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
-            dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window;
-            dataGridViewCellStyle1.Font = new System.Drawing.Font("瀹嬩綋", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText;
-            dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
-            dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
-            dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
-            this.grdMain.DefaultCellStyle = dataGridViewCellStyle1;
+            dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window;
+            dataGridViewCellStyle7.Font = new System.Drawing.Font("瀹嬩綋", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText;
+            dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+            this.grdMain.DefaultCellStyle = dataGridViewCellStyle7;
             this.grdMain.Dock = System.Windows.Forms.DockStyle.Fill;
             this.grdMain.Location = new System.Drawing.Point(3, 3);
             this.grdMain.Margin = new System.Windows.Forms.Padding(0);
@@ -317,7 +323,8 @@
             this.txtHRemark.ImeMode = System.Windows.Forms.ImeMode.NoControl;
             this.txtHRemark.Location = new System.Drawing.Point(102, 112);
             this.txtHRemark.Name = "txtHRemark";
-            this.txtHRemark.Size = new System.Drawing.Size(713, 21);
+            this.txtHRemark.ReadOnly = true;
+            this.txtHRemark.Size = new System.Drawing.Size(691, 21);
             this.txtHRemark.TabIndex = 53;
             // 
             // label4
@@ -344,6 +351,12 @@
             // gbUp
             // 
             this.gbUp.BackColor = System.Drawing.Color.Transparent;
+            this.gbUp.Controls.Add(this.label13);
+            this.gbUp.Controls.Add(this.txtHBarcodeNo);
+            this.gbUp.Controls.Add(this.cmdHBadReasonID);
+            this.gbUp.Controls.Add(this.chkHDYFlag);
+            this.gbUp.Controls.Add(this.cmdFZF);
+            this.gbUp.Controls.Add(this.cmdZF);
             this.gbUp.Controls.Add(this.txtHDeptName);
             this.gbUp.Controls.Add(this.label12);
             this.gbUp.Controls.Add(this.txtHBatchNo);
@@ -376,6 +389,32 @@
             this.gbUp.Size = new System.Drawing.Size(1105, 186);
             this.gbUp.TabIndex = 58;
             this.gbUp.TabStop = false;
+            // 
+            // cmdFZF
+            // 
+            this.cmdFZF.BackColor = System.Drawing.Color.White;
+            this.cmdFZF.Font = new System.Drawing.Font("瀹嬩綋", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.cmdFZF.Location = new System.Drawing.Point(729, 142);
+            this.cmdFZF.Margin = new System.Windows.Forms.Padding(2);
+            this.cmdFZF.Name = "cmdFZF";
+            this.cmdFZF.Size = new System.Drawing.Size(86, 32);
+            this.cmdFZF.TabIndex = 157;
+            this.cmdFZF.Text = "鍙嶄綔搴�";
+            this.cmdFZF.UseVisualStyleBackColor = false;
+            this.cmdFZF.Click += new System.EventHandler(this.cmdFZF_Click);
+            // 
+            // cmdZF
+            // 
+            this.cmdZF.BackColor = System.Drawing.Color.White;
+            this.cmdZF.Font = new System.Drawing.Font("瀹嬩綋", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.cmdZF.Location = new System.Drawing.Point(635, 142);
+            this.cmdZF.Margin = new System.Windows.Forms.Padding(2);
+            this.cmdZF.Name = "cmdZF";
+            this.cmdZF.Size = new System.Drawing.Size(86, 32);
+            this.cmdZF.TabIndex = 156;
+            this.cmdZF.Text = "浣滃簾";
+            this.cmdZF.UseVisualStyleBackColor = false;
+            this.cmdZF.Click += new System.EventHandler(this.cmdZF_Click);
             // 
             // txtHDeptName
             // 
@@ -597,14 +636,14 @@
             this.grdSub.AllowUserToDeleteRows = false;
             this.grdSub.BackgroundColor = System.Drawing.SystemColors.ControlLightLight;
             this.grdSub.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
-            dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
-            dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window;
-            dataGridViewCellStyle2.Font = new System.Drawing.Font("瀹嬩綋", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText;
-            dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
-            dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
-            dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
-            this.grdSub.DefaultCellStyle = dataGridViewCellStyle2;
+            dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Window;
+            dataGridViewCellStyle8.Font = new System.Drawing.Font("瀹嬩綋", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.ControlText;
+            dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+            this.grdSub.DefaultCellStyle = dataGridViewCellStyle8;
             this.grdSub.Dock = System.Windows.Forms.DockStyle.Fill;
             this.grdSub.Location = new System.Drawing.Point(0, 73);
             this.grdSub.Margin = new System.Windows.Forms.Padding(0);
@@ -736,6 +775,49 @@
             this.鍙充晶.Size = new System.Drawing.Size(12, 627);
             this.鍙充晶.TabIndex = 64;
             // 
+            // chkHDYFlag
+            // 
+            this.chkHDYFlag.AutoSize = true;
+            this.chkHDYFlag.Location = new System.Drawing.Point(558, 156);
+            this.chkHDYFlag.Margin = new System.Windows.Forms.Padding(2);
+            this.chkHDYFlag.Name = "chkHDYFlag";
+            this.chkHDYFlag.Size = new System.Drawing.Size(72, 16);
+            this.chkHDYFlag.TabIndex = 316;
+            this.chkHDYFlag.Text = "鑷姩鎵撳嵃";
+            this.chkHDYFlag.UseVisualStyleBackColor = true;
+            // 
+            // cmdHBadReasonID
+            // 
+            this.cmdHBadReasonID.BackColor = System.Drawing.Color.Transparent;
+            this.cmdHBadReasonID.Image = ((System.Drawing.Image)(resources.GetObject("cmdHBadReasonID.Image")));
+            this.cmdHBadReasonID.ImageAlign = System.Drawing.ContentAlignment.TopRight;
+            this.cmdHBadReasonID.Location = new System.Drawing.Point(793, 111);
+            this.cmdHBadReasonID.Name = "cmdHBadReasonID";
+            this.cmdHBadReasonID.Size = new System.Drawing.Size(22, 22);
+            this.cmdHBadReasonID.TabIndex = 317;
+            this.cmdHBadReasonID.UseVisualStyleBackColor = false;
+            this.cmdHBadReasonID.Click += new System.EventHandler(this.cmdHBadReasonID_Click);
+            // 
+            // label13
+            // 
+            this.label13.AutoSize = true;
+            this.label13.Font = new System.Drawing.Font("瀹嬩綋", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label13.ForeColor = System.Drawing.Color.Black;
+            this.label13.Location = new System.Drawing.Point(633, 88);
+            this.label13.Name = "label13";
+            this.label13.Size = new System.Drawing.Size(29, 12);
+            this.label13.TabIndex = 318;
+            this.label13.Text = "鍖呭彿";
+            // 
+            // txtHBarcodeNo
+            // 
+            this.txtHBarcodeNo.Font = new System.Drawing.Font("瀹嬩綋", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtHBarcodeNo.ImeMode = System.Windows.Forms.ImeMode.NoControl;
+            this.txtHBarcodeNo.Location = new System.Drawing.Point(687, 84);
+            this.txtHBarcodeNo.Name = "txtHBarcodeNo";
+            this.txtHBarcodeNo.Size = new System.Drawing.Size(128, 21);
+            this.txtHBarcodeNo.TabIndex = 319;
+            // 
             // Kf_WeighToBarCode
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@@ -827,5 +909,11 @@
         private System.Windows.Forms.Panel 涓棿;
         private System.Windows.Forms.Panel 搴曢儴;
         private System.Windows.Forms.Panel 鍙充晶;
+        private System.Windows.Forms.Button cmdFZF;
+        private System.Windows.Forms.Button cmdZF;
+        private System.Windows.Forms.CheckBox chkHDYFlag;
+        private System.Windows.Forms.Button cmdHBadReasonID;
+        private System.Windows.Forms.Label label13;
+        private System.Windows.Forms.TextBox txtHBarcodeNo;
     }
 }
\ No newline at end of file
diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.resx" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.resx"
index b0138bd..f9ea286 100644
--- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.resx"
+++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Kf_WeighToBarCode.resx"
@@ -435,6 +435,21 @@
   <metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>102, 16</value>
   </metadata>
+  <data name="cmdHBadReasonID.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        R0lGODlhEAAQAIZBAAAzmQBmzP///1o7AJlmAOazAMTz/9mmAEW5//nNT+W5ToPV/5TW/cyZAAyf/7Dp
+        /yOn/2jD/q3h/le8/sz3/5zg/7bt/73l/7Xs/2fH/4DT///bnZXb/97//2rK/wWb/8np/6zf/1S//77x
+        /73w/8Xv/1+//wmc/1jA/5Db/5LV/6rn/6Xb/zCt/33O/9X3/4LO/7jj/4PT/x+m/7nk/3XP/3PJ/3bQ
+        /6Tb/5Td/zCv/3fM/029/4za/6Pf/ZHc/6Pk/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEBAAAh+QQB
+        AABBACwAAAAAEAAQAAAIqACDCBwoMIDBAAQTBjEYIcKECQYVLmQQ44KJFhBmQECYMAAOEAJYnPjgwAHH
+        gQEYqAhBA4YOBDwQIDg5cYcLGyg8LOixYAFNABJkZBBRI8cDEg98ACAIlIOGGylWGOhgwMBSphUq/ACC
+        wQAFClcFEiAAQICAEhZGvDAbloCCDQUAlDUrQO5AtwkKHBgQRK7duwryHmjAV2IQAoIJGxY4QK/ixYwH
+        FIYcEAA7
+</value>
+  </data>
   <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>37</value>
   </metadata>
diff --git a/WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs b/WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs
index b8e1e66..3f4c02e 100644
--- a/WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs
@@ -91,5 +91,195 @@
 
 
         //
+
+        #region 涓嶈壇鍘熷洜瀹℃牳銆佸弽瀹℃牳
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_BadReason/AuditGy_BadReason")]
+        [HttpGet]
+        public object AuditGy_BadReason(int HInterID, int IsAudit, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_BadReason_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_BadReason where HItemID=" + HInterID, "Gy_BadReason");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_BadReason set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {
+                    oCN.RunProc("update Gy_BadReason set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 涓嶈壇鍘熷洜绂佺敤銆佸弽绂佺敤
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsStop">绂佺敤(0),鍙嶇鐢�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_BadReason/StopGy_BadReason")]
+        [HttpGet]
+        public object StopGy_BadReason(int HInterID, int IsStop, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_BadReason_Stop", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绂佺敤澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_BadReason where HItemID=" + HInterID, "Gy_BadReason");
+                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)  //绂佺敤鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_BadReason set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "绂佺敤鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsStop == 1) //鍙嶇鐢ㄥ垽鏂�
+                {
+                    oCN.RunProc("update Gy_BadReason set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶇鐢ㄦ垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "绂佺敤澶辫触鎴栬�呭弽绂佺敤澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/BaseSet/Gy_CustomerController.cs b/WebAPI/Controllers/BaseSet/Gy_CustomerController.cs
index f362ec6..e9d3302 100644
--- a/WebAPI/Controllers/BaseSet/Gy_CustomerController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_CustomerController.cs
@@ -672,6 +672,198 @@
             }
         }
 
+
+        #region 瀹㈡埛瀹℃牳銆佸弽瀹℃牳
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_Customer/AuditGy_Customer")]
+        [HttpGet]
+        public object AuditGy_Customer(int HInterID, int IsAudit, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_Customer_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_Customer where HItemID=" + HInterID, "Gy_Customer");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_Customer set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {
+                    oCN.RunProc("update Gy_Customer set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 瀹㈡埛绂佺敤銆佸弽绂佺敤
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsStop">绂佺敤(0),鍙嶇鐢�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_Customer/StopGy_Customer")]
+        [HttpGet]
+        public object StopGy_Customer(int HInterID, int IsStop, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_Customer_Stop", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绂佺敤澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_Customer 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)  //绂佺敤鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_Customer set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "绂佺敤鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsStop == 1) //鍙嶇鐢ㄥ垽鏂�
+                {
+                    oCN.RunProc("update Gy_Customer set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶇鐢ㄦ垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "绂佺敤澶辫触鎴栬�呭弽绂佺敤澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
         #region [鍚屾鍩虹璧勬枡]
         [Route("Gy_Customer/Gy_CustomerViewApi")]
         [HttpGet]
diff --git a/WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs b/WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs
index ceb6237..a596213 100644
--- a/WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs
@@ -893,6 +893,197 @@
             }
         }
 
+        #region 鑱屽憳瀹℃牳銆佸弽瀹℃牳
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_Employee/AuditGy_Employee")]
+        [HttpGet]
+        public object AuditGy_Employee(int HInterID, int IsAudit, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_Employee_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_Employee where HItemID=" + HInterID, "Gy_Employee");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_Employee set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {
+                    oCN.RunProc("update Gy_Employee set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鑱屽憳绂佺敤銆佸弽绂佺敤
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsStop">绂佺敤(0),鍙嶇鐢�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_Employee/StopGy_Employee")]
+        [HttpGet]
+        public object StopGy_Employee(int HInterID, int IsStop, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_Employee_Stop", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绂佺敤澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_Employee where HItemID=" + HInterID, "Gy_Employee");
+                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)  //绂佺敤鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_Employee set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "绂佺敤鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsStop == 1) //鍙嶇鐢ㄥ垽鏂�
+                {
+                    oCN.RunProc("update Gy_Employee set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶇鐢ㄦ垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "绂佺敤澶辫触鎴栬�呭弽绂佺敤澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
         #region 鑱屽憳 閲戣澏鍚屾
         [Route("Gy_Employee/SaveGy_EmployeeListApi")]
         [HttpPost]
diff --git a/WebAPI/Controllers/BaseSet/Gy_GroupController.cs b/WebAPI/Controllers/BaseSet/Gy_GroupController.cs
index f00f177..dc84d4b 100644
--- a/WebAPI/Controllers/BaseSet/Gy_GroupController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_GroupController.cs
@@ -566,6 +566,202 @@
                 return objJsonResult;
             }
         }
+
+
+
+        #region 鐢熶骇鐝粍瀹℃牳銆佸弽瀹℃牳
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_Group/AuditGy_Group")]
+        [HttpGet]
+        public object AuditGy_Group(int HInterID, int IsAudit, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_Group_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_Group where HItemID=" + HInterID, "Gy_Group");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_Group set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {
+                    oCN.RunProc("update Gy_Group set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鐢熶骇鐝粍绂佺敤銆佸弽绂佺敤
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsStop">绂佺敤(0),鍙嶇鐢�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_Group/StopGy_Group")]
+        [HttpGet]
+        public object StopGy_Group(int HInterID, int IsStop, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_Group_Stop", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绂佺敤澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_Group where HItemID=" + HInterID, "Gy_Group");
+                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)  //绂佺敤鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_Group set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "绂佺敤鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsStop == 1) //鍙嶇鐢ㄥ垽鏂�
+                {
+                    oCN.RunProc("update Gy_Group set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶇鐢ㄦ垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "绂佺敤澶辫触鎴栬�呭弽绂佺敤澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+
+
         /// <summary>
         /// 缁翠慨鍒楄〃淇敼鎸夐挳鏂规硶
         ///鍙傛暟锛歴tring sql銆�
diff --git a/WebAPI/Controllers/BaseSet/Gy_ProcessController.cs b/WebAPI/Controllers/BaseSet/Gy_ProcessController.cs
index 4ee1994..b5d40ab 100644
--- a/WebAPI/Controllers/BaseSet/Gy_ProcessController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_ProcessController.cs
@@ -642,5 +642,195 @@
         }
 
         //
+
+        #region 宸ュ簭瀹℃牳銆佸弽瀹℃牳
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_Process/AuditGy_Process")]
+        [HttpGet]
+        public object AuditGy_Process(int HInterID, int IsAudit, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_Process_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_Process where HItemID=" + HInterID, "Gy_Process");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_Process set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {
+                    oCN.RunProc("update Gy_Process set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭绂佺敤銆佸弽绂佺敤
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsStop">绂佺敤(0),鍙嶇鐢�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_Process/StopGy_Process")]
+        [HttpGet]
+        public object StopGy_Process(int HInterID, int IsStop, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_Process_Stop", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绂佺敤澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_Process where HItemID=" + HInterID, "Gy_Process");
+                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)  //绂佺敤鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_Process set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "绂佺敤鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsStop == 1) //鍙嶇鐢ㄥ垽鏂�
+                {
+                    oCN.RunProc("update Gy_Process set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶇鐢ㄦ垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "绂佺敤澶辫触鎴栬�呭弽绂佺敤澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/BaseSet/Gy_SourceController.cs b/WebAPI/Controllers/BaseSet/Gy_SourceController.cs
index 91b5f1d..bbde934 100644
--- a/WebAPI/Controllers/BaseSet/Gy_SourceController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_SourceController.cs
@@ -369,5 +369,196 @@
             }
         }
 
+
+        #region 鐢熶骇璧勬簮瀹℃牳銆佸弽瀹℃牳
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_Source/AuditGy_Source")]
+        [HttpGet]
+        public object AuditGy_Source(int HInterID, int IsAudit, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_Source_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_Source where HItemID=" + HInterID, "Gy_Source");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_Source set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {
+                    oCN.RunProc("update Gy_Source set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鐢熶骇璧勬簮绂佺敤銆佸弽绂佺敤
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsStop">绂佺敤(0),鍙嶇鐢�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_Source/StopGy_Source")]
+        [HttpGet]
+        public object StopGy_Source(int HInterID, int IsStop, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_Source_Stop", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绂佺敤澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_Source where HItemID=" + HInterID, "Gy_Source");
+                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)  //绂佺敤鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_Source set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "绂佺敤鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsStop == 1) //鍙嶇鐢ㄥ垽鏂�
+                {
+                    oCN.RunProc("update Gy_Source set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶇鐢ㄦ垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "绂佺敤澶辫触鎴栬�呭弽绂佺敤澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/BaseSet/Gy_SupplierController.cs b/WebAPI/Controllers/BaseSet/Gy_SupplierController.cs
index 560aade..ca5b38e 100644
--- a/WebAPI/Controllers/BaseSet/Gy_SupplierController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_SupplierController.cs
@@ -528,6 +528,197 @@
             }
         }
 
+
+        #region 渚涘簲鍟嗗鏍搞�佸弽瀹℃牳
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_Supplier/AuditGy_Supplier")]
+        [HttpGet]
+        public object AuditGy_Material(int HInterID, int IsAudit, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_Supplier_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_Supplier where HItemID=" + HInterID, "Gy_Supplier");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_Supplier set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {
+                    oCN.RunProc("update Gy_Supplier set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 渚涘簲鍟嗙鐢ㄣ�佸弽绂佺敤
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsStop">绂佺敤(0),鍙嶇鐢�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_Supplier/StopGy_Supplier")]
+        [HttpGet]
+        public object StopGy_Supplier(int HInterID, int IsStop, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_Supplier_Stop", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绂佺敤澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_Supplier where HItemID=" + HInterID, "Gy_Supplier");
+                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)  //绂佺敤鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_Supplier set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "绂佺敤鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsStop == 1) //鍙嶇鐢ㄥ垽鏂�
+                {
+                    oCN.RunProc("update Gy_Supplier set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶇鐢ㄦ垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "绂佺敤澶辫触鎴栬�呭弽绂佺敤澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region [鍚屾鍩虹璧勬枡]
         [Route("Gy_Supplier/Gy_SupplierViewApi")]
         [HttpGet]
diff --git a/WebAPI/Controllers/BaseSet/Gy_WorkCenterController.cs b/WebAPI/Controllers/BaseSet/Gy_WorkCenterController.cs
index 941cffa..e4fb8f9 100644
--- a/WebAPI/Controllers/BaseSet/Gy_WorkCenterController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_WorkCenterController.cs
@@ -728,5 +728,198 @@
                 return objJsonResult;
             }
         }
+
+
+
+
+        #region 宸ヤ綔涓績瀹℃牳銆佸弽瀹℃牳
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_WorkCenter/AuditGy_WorkCenter")]
+        [HttpGet]
+        public object AuditGy_WorkCenter(int HInterID, int IsAudit, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_WorkCenter_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_WorkCenter where HItemID=" + HInterID, "Gy_WorkCenter");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_WorkCenter set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {
+                    oCN.RunProc("update Gy_WorkCenter set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ヤ綔涓績绂佺敤銆佸弽绂佺敤
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsStop">绂佺敤(0),鍙嶇鐢�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_WorkCenter/StopGy_WorkCenter")]
+        [HttpGet]
+        public object StopGy_Material(int HInterID, int IsStop, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_WorkCenter_Stop", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绂佺敤澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_WorkCenter where HItemID=" + HInterID, "Gy_WorkCenter");
+                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)  //绂佺敤鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_WorkCenter set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "绂佺敤鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsStop == 1) //鍙嶇鐢ㄥ垽鏂�
+                {
+                    oCN.RunProc("update Gy_WorkCenter set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶇鐢ㄦ垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "绂佺敤澶辫触鎴栬�呭弽绂佺敤澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
index 5accdda..2940b96 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
@@ -16,7 +16,7 @@
     {
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;
         Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
-
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
@@ -1134,6 +1134,113 @@
         }
         #endregion
 
+
+        #region 宸ュ簭濮斿鍙戝嚭鍗曞叧闂�/鍙嶅叧闂姛鑳�
+        [Route("Cj_StationEntrustInBill/CloseCj_StationEntrustInBill")]
+        [HttpGet]
+        public object CloseCj_StationEntrustInBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustInBill_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;
+                BillOld.MvarItemKey = "Sc_StationInBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region 鏍规嵁id鍒犻櫎濮斿鍙戝嚭鍗�
         [Route("Cj_StationEntrustInBill/del_StationEntrustInBill")]
         [HttpGet]
diff --git a/WebAPI/Controllers/CJGL/Cj_StationEntrustOutBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationEntrustOutBillController.cs
index e72e378..885ccda 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationEntrustOutBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationEntrustOutBillController.cs
@@ -16,7 +16,7 @@
     {
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;
         Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
-
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
@@ -852,6 +852,114 @@
             }
         }
 
+
+        #region 宸ュ簭濮斿鎺ユ敹鍗曞叧闂�/鍙嶅叧闂姛鑳�
+        [Route("Cj_StationEntrustOutBill/CloseCj_StationEntrustOutBill")]
+        [HttpGet]
+        public object CloseCj_StationEntrustOutBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustOutBill_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;
+                BillOld.MvarItemKey = "Sc_StationOutBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
         //鏄惁琚叧鑱�
         public bool Cj_StationEntrustOutBillisUse(Int64 lngBillKey, ref string sReturn)
         {
diff --git a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
index 71507cb..687beea 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
@@ -22,6 +22,7 @@
 
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
         DataSet ds;
         DataSet ds1;
 
@@ -937,6 +938,112 @@
         }
         #endregion
 
+        #region 宸ュ簭杩涚珯鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("Cj_StationInBill/CloseCj_StationInBill")]
+        [HttpGet]
+        public object CloseSc_StationInBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_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;
+                BillOld.MvarItemKey = "Sc_StationInBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         //鎵归噺杩涚珯
         #region 鎵归噺杩涚珯妯″潡杩斿洖鏄庣粏淇℃伅鍒楄〃
         [Route("Cj_StationInBill/get_BarCodeDetail")]
diff --git a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
index 7f0a9ba..b161455 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -21,7 +21,7 @@
     {
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;
         Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
-
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
@@ -2444,6 +2444,115 @@
             }
         }
 
+
+        #region 宸ュ簭鍑虹珯鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("Cj_StationOutBill/CloseCj_StationOutBill")]
+        [HttpGet]
+        public object CloseCj_StationOutBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_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;
+                BillOld.MvarItemKey = "Sc_StationOutBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+
         //鏄惁琚叧鑱�
         public bool Cj_StationInBillisUse(Int64 lngBillKey, ref string sReturn)
         {
diff --git a/WebAPI/Controllers/CJGL/Sc_ProcExchRecordBackBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcExchRecordBackBillController.cs
index 13811d8..a02662f 100644
--- a/WebAPI/Controllers/CJGL/Sc_ProcExchRecordBackBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_ProcExchRecordBackBillController.cs
@@ -16,6 +16,7 @@
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
         DataSet ds;
 
         #region 宸ュ簭杩斿伐璁板綍鍗曞垪琛�
@@ -428,5 +429,111 @@
             }
         }
         #endregion
+
+        #region 宸ュ簭杩斿伐璁板綍鍗曞叧闂�/鍙嶅叧闂姛鑳�
+        [Route("Sc_ProcExchRecordBackBill/CloseSc_ProcExchRecordBackBill")]
+        [HttpGet]
+        public object CloseSc_ProcExchRecordBackBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcExchRecordBackBill_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;
+                BillOld.MvarItemKey = "Sc_ProcExchRecordBackBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/CJGL/Sc_ProcExchSendWorkBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcExchSendWorkBillController.cs
index 8afe542..413489c 100644
--- a/WebAPI/Controllers/CJGL/Sc_ProcExchSendWorkBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_ProcExchSendWorkBillController.cs
@@ -16,6 +16,7 @@
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
         DataSet ds;
 
         #region 宸ュ簭娲惧伐鍗曞垪琛�
@@ -266,5 +267,230 @@
         }
         //#endregion
 
+        #region 宸ュ簭娲惧伐鍗曞鏍�/鍙嶅鏍稿姛鑳�
+        [Route("Sc_ProcExchSendWorkBill/CheckSc_ProcExchSendWorkBill")]
+        [HttpGet]
+        public object CheckSc_ProcExchSendWorkBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessSendWork_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;
+                BillOld.MvarItemKey = "Sc_ProcExchSendWorkBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                        //DataSet DSet = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_AbandonCheckCtrl " + int.Parse(HInterID), "h_p_Sc_ICMOBill_AbandonCheckCtrl");
+                        ////if (DBUtility.ClsPub.isInt(DSet.Tables[0].Rows[0]["Hback"]) != 0)
+                        ////{
+                        ////    objJsonResult.code = "0";
+                        ////    objJsonResult.count = 1;
+                        ////    objJsonResult.Message = "璇ヤ换鍔″崟宸蹭笅鎺ㄦ祦杞崱锛屼笉鍏佽鍙嶅鏍�" + DBUtility.ClsPub.isStrNull(DSet.Tables[0].Rows[0]["HBackRemark"]);
+                        ////    objJsonResult.data = null;
+                        ////    return objJsonResult;
+                        ////}
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭娲惧伐鍗曞叧闂�/鍙嶅叧闂姛鑳�
+        [Route("Sc_ProcExchSendWorkBill/CloseSc_ProcExchSendWorkBill")]
+        [HttpGet]
+        public object CloseSc_ProcExchSendWorkBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessSendWork_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;
+                BillOld.MvarItemKey = "Sc_ProcExchSendWorkBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs
index 5f2b4d0..0a39f2b 100644
--- a/WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs
@@ -16,6 +16,7 @@
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
         DataSet ds;
 
         #region 宸ュ簭杩斿伐鐢宠鍗曞垪琛�
@@ -309,124 +310,348 @@
         }
         #endregion
 
-        #region 宸ュ簭杩斿伐鐢宠鍗� 瀹℃牳
-        [Route("Sc_ProcExchWorkBackBill/set_CheckBill")]
+        //#region 宸ュ簭杩斿伐鐢宠鍗� 瀹℃牳
+        //[Route("Sc_ProcExchWorkBackBill/set_CheckBill")]
+        //[HttpGet]
+        //public object set_CheckBill(int HInterID, string CurUserName)
+        //{
+        //    try
+        //    {
+        //        //瀹℃牳鏉冮檺
+        //        if (!DBUtility.ClsPub.Security_Log("Sc_ProcExchWorkBackBill_Check", 1, false, CurUserName))
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+        //        if (HInterID == 0)
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "鍗曟嵁ID涓�0锛屼笉鑳藉鏍革紒";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        DataSet Ds = oCN.RunProcReturn("Select * from Sc_ProcExchWorkBackBillMain Where HInterID=" + HInterID, "Sc_ProcExchWorkBackBillMain");
+        //        if (Ds.Tables[0].Rows.Count > 0)
+        //        {
+        //            //鏌ョ湅鏄惁宸插鏍�,鍏抽棴,浣滃簾
+        //            if (Ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳";
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+
+
+        //            //瀹℃牳
+        //            if (Cj_StationInBillCheckBill(HInterID,int.Parse( Ds.Tables[0].Rows[0]["HProcExchInterID"].ToString()), CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
+        //            {
+        //                objJsonResult.code = "1";
+        //                objJsonResult.count = 1;
+        //                objJsonResult.Message = "瀹℃牳鎴愬姛!";
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+        //            else
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+        //                objJsonResult.data = null;
+        //                return objJsonResult;
+        //            }
+
+        //        }
+        //        else
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "鍗曟嵁鏈壘鍒�!";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "瀹℃牳澶辫触锛�" + e.ToString();
+        //        objJsonResult.data = null;
+        //        return objJsonResult;
+        //    }
+        //}
+
+        ////瀹℃牳
+        //public bool Cj_StationInBillCheckBill(Int64 HInterID,int HProcExchInterID, string CurUserName, ref string sReturn)
+        //{
+        //    try
+        //    {
+        //        oCN.BeginTran();
+        //        oCN.RunProc(" Update Sc_ProcExchWorkBackBillMain set HChecker='" + CurUserName + "',HBillStatus=2,HCheckDate=getdate() Where HInterID=" + HInterID.ToString());
+        //        //鍥炲~宸ュ簭娴佽浆鍗�
+        //        oCN.RunProc("exec h_p_ProcExchWorkBackBill_Check_In " + HInterID.ToString());
+        //        oCN.RunProc("exec h_p_Sc_ProcessExchangeBill_SetRemark " + HProcExchInterID.ToString()); //璁剧疆 澶囨敞 涓� 宸ヨ壓娴�
+        //        oCN.RunProc("exec h_p_Sc_ProcessExchangeBill_SetUpdate " + HProcExchInterID.ToString()); //璁剧疆 鏈亾 棣栭亾 杞� 绛変俊鎭�   鍣ㄥ叿娓呭崟  宸ヨ壓鍙傛暟娓呭崟锛�
+        //        DataSet ds = new DataSet();
+        //        //璁剧疆鏉$爜鍙�  鍥炲~ 棰嗘枡鎵规
+        //        ds = oCN.RunProcReturn("exec h_p_Mes_ProcessExchangeBackBarCode " + HProcExchInterID.ToString(), "h_p_Mes_ProcessExchangeBackBarCode");
+        //        if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)
+        //        {
+        //            sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]).ToString();
+        //            oCN.RollBack();
+        //            return false;
+        //        }
+
+        //        //鎺у埗鍏宠仈鏁伴噺
+        //        ds = null;
+        //        ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBill_Checkqty " + HProcExchInterID.ToString(), "h_p_Sc_ProcessExchangeBill_Checkqty");
+        //        if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)
+        //        {
+        //            sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]).ToString();
+        //            oCN.RollBack();
+        //            return false;
+        //        }
+        //        oCN.Commit();
+        //        return true;
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        sReturn = e.Message;
+        //        oCN.RollBack();
+        //        return false; ;
+        //    }
+        //}
+        //#endregion
+
+        #region 宸ヨ壓璺嚎瀹℃牳/鍙嶅鏍稿姛鑳�
+        [Route("Sc_ProcExchWorkBackBill/CheckSc_ProcExchWorkBackBill")]
         [HttpGet]
-        public object set_CheckBill(int HInterID, string CurUserName)
+        public object CheckSc_ProcExchWorkBackBill(string HInterID, int Type, string user)
         {
             try
             {
-                //瀹℃牳鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log("Sc_ProcExchWorkBackBill_Check", 1, false, CurUserName))
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcExchWorkBackBill_Check", 1, false, user))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
-                if (HInterID == 0)
-                {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "鍗曟嵁ID涓�0锛屼笉鑳藉鏍革紒";
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
 
-                DataSet Ds = oCN.RunProcReturn("Select * from Sc_ProcExchWorkBackBillMain Where HInterID=" + HInterID, "Sc_ProcExchWorkBackBillMain");
-                if (Ds.Tables[0].Rows.Count > 0)
+                if (string.IsNullOrWhiteSpace(HInterID))
                 {
-                    //鏌ョ湅鏄惁宸插鏍�,鍏抽棴,浣滃簾
-                    if (Ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Sc_ProcExchWorkBackBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                     {
                         objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
-
-                  
-                    //瀹℃牳
-                    if (Cj_StationInBillCheckBill(HInterID,int.Parse( Ds.Tables[0].Rows[0]["HProcExchInterID"].ToString()), CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                     {
-                        objJsonResult.code = "1";
-                        objJsonResult.count = 1;
-                        objJsonResult.Message = "瀹℃牳鎴愬姛!";
-                        objJsonResult.data = null;
-                        return objJsonResult;
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                        //DataSet DSet = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_AbandonCheckCtrl " + int.Parse(HInterID), "h_p_Sc_ICMOBill_AbandonCheckCtrl");
+                        ////if (DBUtility.ClsPub.isInt(DSet.Tables[0].Rows[0]["Hback"]) != 0)
+                        ////{
+                        ////    objJsonResult.code = "0";
+                        ////    objJsonResult.count = 1;
+                        ////    objJsonResult.Message = "璇ヤ换鍔″崟宸蹭笅鎺ㄦ祦杞崱锛屼笉鍏佽鍙嶅鏍�" + DBUtility.ClsPub.isStrNull(DSet.Tables[0].Rows[0]["HBackRemark"]);
+                        ////    objJsonResult.data = null;
+                        ////    return objJsonResult;
+                        ////}
                     }
                     else
                     {
                         objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
+                }
 
-                }
-                else
-                {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "鍗曟嵁鏈壘鍒�!";
-                    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.Message = "鎵ц澶辫触锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
         }
+        #endregion
 
-        //瀹℃牳
-        public bool Cj_StationInBillCheckBill(Int64 HInterID,int HProcExchInterID, string CurUserName, ref string sReturn)
+        #region 宸ヨ壓璺嚎鍗曞叧闂�/鍙嶅叧闂姛鑳�
+        [Route("Sc_ProcExchWorkBackBill/CloseSc_ProcExchWorkBackBill")]
+        [HttpGet]
+        public object CloseSc_ProcExchWorkBackBill(string HInterID, int Type, string user)
         {
             try
             {
-                oCN.BeginTran();
-                oCN.RunProc(" Update Sc_ProcExchWorkBackBillMain set HChecker='" + CurUserName + "',HBillStatus=2,HCheckDate=getdate() Where HInterID=" + HInterID.ToString());
-                //鍥炲~宸ュ簭娴佽浆鍗�
-                oCN.RunProc("exec h_p_ProcExchWorkBackBill_Check_In " + HInterID.ToString());
-                oCN.RunProc("exec h_p_Sc_ProcessExchangeBill_SetRemark " + HProcExchInterID.ToString()); //璁剧疆 澶囨敞 涓� 宸ヨ壓娴�
-                oCN.RunProc("exec h_p_Sc_ProcessExchangeBill_SetUpdate " + HProcExchInterID.ToString()); //璁剧疆 鏈亾 棣栭亾 杞� 绛変俊鎭�   鍣ㄥ叿娓呭崟  宸ヨ壓鍙傛暟娓呭崟锛�
-                DataSet ds = new DataSet();
-                //璁剧疆鏉$爜鍙�  鍥炲~ 棰嗘枡鎵规
-                ds = oCN.RunProcReturn("exec h_p_Mes_ProcessExchangeBackBarCode " + HProcExchInterID.ToString(), "h_p_Mes_ProcessExchangeBackBarCode");
-                if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcExchWorkBackBill_Close", 1, false, user))
                 {
-                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]).ToString();
-                    oCN.RollBack();
-                    return false;
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
                 }
 
-                //鎺у埗鍏宠仈鏁伴噺
-                ds = null;
-                ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBill_Checkqty " + HProcExchInterID.ToString(), "h_p_Sc_ProcessExchangeBill_Checkqty");
-                if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)
+                if (string.IsNullOrWhiteSpace(HInterID))
                 {
-                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]).ToString();
-                    oCN.RollBack();
-                    return false;
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
                 }
-                oCN.Commit();
-                return true;
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Sc_ProcExchWorkBackBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
             {
-                sReturn = e.Message;
-                oCN.RollBack();
-                return false; ;
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
             }
         }
         #endregion
-
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
index 336f225..5237a34 100644
--- a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
@@ -20,7 +20,8 @@
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
         Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
-              
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
+
 
         #region[鏂板鍗曟嵁-淇濆瓨鎸夐挳]
         /// <summary>
@@ -1271,6 +1272,232 @@
         #endregion
 
 
+        #region 宸ュ簭娴佽浆鍗″鏍�/鍙嶅鏍稿姛鑳�
+        [Route("Sc_ProcessExchangeBill/CheckSc_ProcessExchangeBill")]
+        [HttpGet]
+        public object CheckSc_ProcessExchangeBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_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;
+                BillOld.MvarItemKey = "Sc_ProcessExchangeBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                        //DataSet DSet = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_AbandonCheckCtrl " + int.Parse(HInterID), "h_p_Sc_ICMOBill_AbandonCheckCtrl");
+                        ////if (DBUtility.ClsPub.isInt(DSet.Tables[0].Rows[0]["Hback"]) != 0)
+                        ////{
+                        ////    objJsonResult.code = "0";
+                        ////    objJsonResult.count = 1;
+                        ////    objJsonResult.Message = "璇ヤ换鍔″崟宸蹭笅鎺ㄦ祦杞崱锛屼笉鍏佽鍙嶅鏍�" + DBUtility.ClsPub.isStrNull(DSet.Tables[0].Rows[0]["HBackRemark"]);
+                        ////    objJsonResult.data = null;
+                        ////    return objJsonResult;
+                        ////}
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭娴佽浆鍗″叧闂�/鍙嶅叧闂姛鑳�
+        [Route("Sc_ProcessExchangeBill/CloseSc_ProcessExchangeBill")]
+        [HttpGet]
+        public object CloseSc_ProcessExchangeBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_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;
+                BillOld.MvarItemKey = "Sc_ProcessExchangeBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
         #region 鍗曟嵁鍙樻洿 椤甸潰鍒濆鍖�
         [Route("Sc_ProcessExchangeBill/GetProcessExchangeBillMain_Change_init")]
         [HttpGet]
diff --git a/WebAPI/Controllers/LMESController.cs b/WebAPI/Controllers/LMESController.cs
index 816c3c2..97bc966 100644
--- a/WebAPI/Controllers/LMESController.cs
+++ b/WebAPI/Controllers/LMESController.cs
@@ -18,6 +18,7 @@
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
         /// <summary>
         /// 杩斿洖杩涚珯鎵弿鍒楄〃|宸ュ簭杩涚珯鎺ユ敹鍗曞垪琛� 
         ///鍙傛暟锛歴tring sql銆�
@@ -433,6 +434,73 @@
                     }
                     string sql = sql1 + sWhere + " order by hmainid desc,cast(宸ュ簭鍙� as int)";
                     ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillList");
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            return GetObjectJson(ds);
+        }
+
+        #endregion
+
+        #region 宸ヨ壓璺嚎鍘嗗彶鍒楄〃
+        /// <summary>
+        /// 杩斿洖宸ヨ壓璺嚎鍘嗗彶鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("LEMS/MES_Gy_RoutingBillList_His")]
+        [HttpGet]
+        public object MES_Gy_RoutingBillList_His(string sWhere, string user)
+        {
+            DataSet ds;
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愭煡璇�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //鑾峰彇绯荤粺鍙傛暟
+                string Ret = "";
+                if (oSystemParameter.ShowBill(ref Ret))
+                {
+                    //鍒ゆ柇瀹㈡埛涓洪緳灞辨苯閰�
+                    if (oSystemParameter.omodel.WMS_CampanyName == "榫欏北姹介厤")
+                    {
+                        //鑾峰彇闇�瑕佹嫾鎺ョ殑瀛楃涓�
+                        string sql_splice = DBUtility.ClsPub.SpliceSQL(user, "宸ヨ壓璺嚎鍒楄〃");
+
+                        sWhere += sql_splice;
+                    }
+                }
+
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList_His where 1 = 1" + sWhere + " order by hmainid desc", "h_v_Gy_RoutingBillList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Gy_RoutingBillList_His where 1 = 1 ";
+                    //瀹㈡埛鑷畾涔�
+                    if (oSystemParameter.omodel.WMS_CampanyName == "鐟炰笌绁�")
+                    {
+                        sql1 = "select top 1000 * from h_v_Gy_RoutingBillList_His where 1 = 1 ";
+                    }
+                    string sql = sql1 + sWhere + " order by hmainid desc,cast(宸ュ簭鍙� as int)";
+                    ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillList_His");
                 }
             }
             catch (Exception e)
@@ -1737,6 +1805,231 @@
 
         }
 
+        #region 宸ヨ壓璺嚎瀹℃牳/鍙嶅鏍稿姛鑳�
+        [Route("Gy_RoutingBill/CheckGy_RoutingBill")]
+        [HttpGet]
+        public object CheckGy_RoutingBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_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;
+                BillOld.MvarItemKey = "Gy_RoutingBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql,BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString()!="")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                        //DataSet DSet = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_AbandonCheckCtrl " + int.Parse(HInterID), "h_p_Sc_ICMOBill_AbandonCheckCtrl");
+                        ////if (DBUtility.ClsPub.isInt(DSet.Tables[0].Rows[0]["Hback"]) != 0)
+                        ////{
+                        ////    objJsonResult.code = "0";
+                        ////    objJsonResult.count = 1;
+                        ////    objJsonResult.Message = "璇ヤ换鍔″崟宸蹭笅鎺ㄦ祦杞崱锛屼笉鍏佽鍙嶅鏍�" + DBUtility.ClsPub.isStrNull(DSet.Tables[0].Rows[0]["HBackRemark"]);
+                        ////    objJsonResult.data = null;
+                        ////    return objJsonResult;
+                        ////}
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ヨ壓璺嚎鍗曞叧闂�/鍙嶅叧闂姛鑳�
+        [Route("Gy_RoutingBill/CloseGy_RoutingBill_1")]
+        [HttpGet]
+        public object CloseGy_RoutingBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_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;
+                BillOld.MvarItemKey = "Gy_RoutingBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
 
 
     }
diff --git a/WebAPI/Controllers/MateOutController.cs b/WebAPI/Controllers/MateOutController.cs
index 6c03f4d..6c85dfc 100644
--- a/WebAPI/Controllers/MateOutController.cs
+++ b/WebAPI/Controllers/MateOutController.cs
@@ -15,6 +15,8 @@
 using WebAPI;
 using WebAPI.Code;
 using WebAPI.Models;
+using static WebAPI.Controllers.鍩虹璧勬枡.鍩虹璧勬枡.Gy_DutyBillController;
+
 namespace WebAPI.Controllers
 {
     public class MateOutController : ApiController
@@ -534,8 +536,8 @@
                 List<Model.ClsKf_MateOutBillMain> lsmain = new List<Model.ClsKf_MateOutBillMain>();
                 ListModels oListModels = new ListModels();
                 lsmain = oListModels.getMateOutBillMainByJson(msg1);
-                lsmain[0].HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                lsmain[0].HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));
+                //lsmain[0].HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                //lsmain[0].HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));
                 string sSourceBillType = lsmain[0].HBillType;//婧愬崟绫诲瀷
 
                 WebAPI.WebS.ClsKf_MateOutBillMain websLsmain = new WebS.ClsKf_MateOutBillMain();
@@ -1461,8 +1463,6 @@
         }
         #endregion
 
-
-
         #region 鏌撳巶姹囨�绘姤琛�
 
         #region 鏌撳巶姹囨�绘姤琛�
@@ -1616,6 +1616,394 @@
 
         #endregion
 
+        #region  (鐢熶骇璁㈠崟缁村害)瀹㈡埛璁㈠崟鎶ヨ〃
+        [Route("MaterOutEntryReport/sc_ICOMReportList")]
+        [HttpGet]
+        public object sc_ICOMReportList(string sWhere)
+        {
+            try
+            {
+                string sql = "exec h_p_sc_ICOMReport '"+ sWhere + "'";
+
+                ds = oCN.RunProcReturn(sql, "h_p_sc_ICOMReport");
+
+                DataTable dt = ds.Tables[0];
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = dt;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  瀹㈡埛璁㈠崟鏄庣粏鎶ヨ〃
+        [Route("MaterOutEntryReport/Sc_ICOMProBarCodeReport")]
+        [HttpGet]
+        public object Sc_ICOMProBarCodeReport(string sWhere)
+        {
+            try
+            {
+                string sql = "select * from  h_v_sc_ICOMProBarCodeReport where 1=1  " + sWhere;
+
+                ds = oCN.RunProcReturn(sql, "h_v_sc_ICOMProBarCodeReport");
+
+                DataTable dt = ds.Tables[0];
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = dt;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  鐢熶骇鍏ュ簱鎶ヨ〃
+        [Route("MaterOutEntryReport/sc_ICOMRKReport")]
+        [HttpGet]
+        public object sc_ICOMRKReport(string sWhere)
+        {
+            try
+            {
+                string sql = "select * from  h_v_sc_ICOMRKReport where 1=1  " + sWhere + " order by 鏃ユ湡 ";
+
+                ds = oCN.RunProcReturn(sql, "h_v_sc_ICOMRKReport");
+
+                DataTable dt = ds.Tables[0];
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = dt;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  鐢熶骇鏃ヨ鎶ヨ〃
+        public class DayRkReport { 
+        public string HBeginDate { get; set; }
+        public string HEndDate { get; set; }
+        public string HMaterNumber { get; set; }
+        public string HCustomerName { get; set; }
+        public string HProductName { get; set; }
+        }
+        [Route("MaterOutEntryReport/SC_DayRkReport")]
+        [HttpGet]
+        public object SC_DayRkReport(string sWhere,int num)
+        {
+            try
+            {
+               DayRkReport DayRkReportList = JsonConvert.DeserializeObject<DayRkReport>(sWhere);
+              
+                string sql = $"exec h_p_Gy_DayRkReport '{DayRkReportList.HBeginDate}','{DayRkReportList.HEndDate}','{DayRkReportList.HMaterNumber}'" +
+                    $",'{DayRkReportList.HProductName}','{DayRkReportList.HCustomerName}'";
+                ds = oCN.RunProcReturn(sql, "h_p_Gy_DayRkReport");
+
+                DataTable dt = null;
+                if (num == 1)
+                {
+                    dt = ds.Tables[0];
+                }
+                else if (num == 2)
+                {
+                    dt = ds.Tables[1];
+                }
+
+                //鑾峰彇鍒楀悕
+                List<object> columnNameList = new List<object>();
+                if (num == 1)
+                {
+                    //娣诲姞鍒楀悕
+                    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鍒楀璞$殑鍒楀悕
+                    }
+                }
+                else if (num == 2)
+                {
+                    //娣诲姞鍒楀悕
+                    foreach (DataColumn col in ds.Tables[1].Columns)
+                    {
+                        Type dataType = col.DataType;
+                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                    }
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = dt;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  浜х嚎鏌ヨ
+        [Route("MaterOutEntryReport/Gy_SourceList")]
+        [HttpGet]
+        public object Gy_SourceList(string HOrgid)
+        {
+            try
+            {
+                string sql1 = string.Format("select hitemid,hnumber,hname from Gy_Source where HUSEORGID="+ HOrgid + " order by hnumber");
+
+                ds = oCN.RunProcReturn(sql1, "Gy_Source");
+
+                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("MaterOutEntryReport/Sc_ShopCalendar")]
+        [HttpGet]
+        public object Sc_ShopCalendar(string sWhere)
+        {
+            try
+            {
+                string sql1 = string.Format("select * from h_v_Gy_PlanShiftsList where 1=1 " + sWhere);
+
+                ds = oCN.RunProcReturn(sql1, "h_v_Gy_PlanShiftsList");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  宸ュ巶鏃ュ巻淇濆瓨
+        [Route("MaterOutEntryReport/Sc_ShopCalendarSave")]
+        [HttpPost]
+        public object Sc_ShopCalendarSave([FromBody] JObject sMainSub)
+        {
+            try
+            {
+                var _value = sMainSub["sMainSub"].ToString();
+                string msg1 = _value.ToString();
+                oCN.BeginTran();
+                //淇濆瓨涓昏〃
+                objJsonResult = AddBillMain(msg1);
+                if (objJsonResult.code == "0")
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = objJsonResult.Message;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                oCN.Commit();
+                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;
+            }
+        }
+
+        public json AddBillMain(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string hdate = sArray[0].ToString();
+            string hvalue = sArray[1].ToString();
+            string TagId = sArray[2].ToString();
+            string user = sArray[3].ToString();
+
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Gy_PlanShifts_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from Gy_PlanShifts where HDate='" + hdate + "'", "Gy_PlanShifts");
+                string sql = "";
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    sql = $"update Gy_PlanShifts set HOverTimes='" + hvalue + "' where  HDate ='" + hdate + "' and HSourceID=" + TagId;
+                }
+                else
+                {
+                    sql = $"insert into Gy_PlanShifts(HDate,HSourceID,HShiftsID,HOverTimes,HClassCount," +
+                      "HRemark,HUseFlag)values" +
+                      $"('{hdate}','{TagId}',0,'{hvalue}','1'" +
+                      $",'','鏈娴�')";
+                }
+
+               
+
+                oCN.RunProc(sql);
+
+                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;
+            }
+        }
+        #endregion
 
         #endregion
 
diff --git a/WebAPI/Controllers/POStockInBillController.cs b/WebAPI/Controllers/POStockInBillController.cs
index c721aec..923ccbe 100644
--- a/WebAPI/Controllers/POStockInBillController.cs
+++ b/WebAPI/Controllers/POStockInBillController.cs
@@ -3921,8 +3921,8 @@
                 List<Model.ClsKf_POStockInBillMain> lsmain = new List<Model.ClsKf_POStockInBillMain>();
                 ListModels oListModels = new ListModels();
                 lsmain = oListModels.getPOStockInBillMainByJson(msg1);
-                lsmain[0].HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                lsmain[0].HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));
+                //lsmain[0].HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                //lsmain[0].HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));
                 string sSourceBillType = lsmain[0].HBillType;
 
                 WebAPI.WebS.ClsKf_POStockInBillMain websLsmain = new WebS.ClsKf_POStockInBillMain();
diff --git a/WebAPI/Controllers/SCGL/Sc_ICMOReportBillController.cs b/WebAPI/Controllers/SCGL/Sc_ICMOReportBillController.cs
index 00aa89a..501562b 100644
--- a/WebAPI/Controllers/SCGL/Sc_ICMOReportBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_ICMOReportBillController.cs
@@ -662,6 +662,113 @@
         }
         #endregion
 
+        #region 鐢熶骇姹囨姤鍗曞叧闂�/鍙嶅叧闂姛鑳�
+        [Route("Sc_ICMOReportBill/CloseSc_ICMOReportBill")]
+        [HttpGet]
+        public object CloseSc_ICMOReportBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ICMOReportBill_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;
+                BillOld.MvarItemKey = "Sc_ICMOReportBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
         #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 df85a12..3e81c3e 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"
@@ -20,6 +20,7 @@
         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_DayPlanPlatFormBillList")]
@@ -41,7 +42,8 @@
                 omdelMian = JsonConvert.DeserializeObject<Sc_WorkBillSortBillMain>(sWhere);
 
                 ds = oCN.RunProcReturn($"exec h_p_JIT_Sc_WorkBillSortBill_Query '{omdelMian.HPlanBeginDate}',{(omdelMian.HProdORGID == null ? 0 : omdelMian.HProdORGID)},'{omdelMian.HSeOrderBillNo}'" +
-                    $",'{omdelMian.HPlanEndDate.AddDays(1)}',{omdelMian.HMaterID},'{omdelMian.HICMOBillNo}',{omdelMian.HWorkShopID}", "h_p_JIT_Sc_WorkBillSortBill_Query");
+                    $",'{omdelMian.HPlanEndDate.AddDays(1)}',{omdelMian.HMaterID},'{omdelMian.HICMOBillNo}',{omdelMian.HWorkShopID}" +
+                    $",'{omdelMian.HMastersDate}','{omdelMian.sWheres}'", "h_p_JIT_Sc_WorkBillSortBill_Query");
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
@@ -285,6 +287,7 @@
                         {
                             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())
@@ -760,21 +763,8 @@
 
                 //鑾峰彇褰撳墠鍗虫椂搴撳瓨 搴撳瓨鏁伴噺+搴撳瓨缁勭粐+鐗╂枡+璐т富+浠撳簱   
                 ds = oCN.RunProcReturn(@" 
-select distinct isnull(a.FBASEQTY,0) FBASEQTY,b.FNumber,a.FOwnerTypeId,a.FOwnerId,c.FNUMBER as FOwnerNumber,a.FSTOCKID,d.FNUMBER as FStockNumber ,a.FLOT HLOT,a.FID HInventoryFID 
-from 
-(
-select distinct a.HProdORGID FStockOrgId,T2.FMATERIALID,FNumber from Sc_WorkBillSortBillMain a
-join Sc_WorkBillSortBillSub b on a.HInterID = b.HInterID
-join AIS20230129011339..T_PRD_PPBOM T1 on a.HICMOInterID_Sec = t1.FMoId and a.HICMOEntryID_Sec = t1.FMOENTRYID
-LEFT JOIN  AIS20230129011339..T_PRD_PPBOMENTRY T2 on T1.FID = t2.FID
-join  AIS20230129011339..T_BD_MATERIAL T3 on T2.FMATERIALID = T3.FMATERIALID
-) T1 
-JOIN  AIS20230129011339..T_BD_MATERIAL b on  t1.FNUMBER = b.FNUMBER
-LEFT JOIN  AIS20230129011339..T_STK_Inventory a on b.FMATERIALID = a.FMATERIALID
-LEFT join (select distinct fitemid,fformid,FNUMBER from  AIS20230129011339..V_ITEMCLASS_OWNER) c on a.FOwnerTypeId = c.fformid and a.FOWNERID = c.fitemid
-join  AIS20230129011339..t_BD_Stock d on a.FSTOCKID =d.FSTOCKID
-where a.FBASEQTY>0 
-", "SC_WORKBILLSORTBILLMAIN");
+select * from h_v_jit_InventoryList
+", "h_v_jit_InventoryList");
                 ListInventory = ds.ToModelList<PRD_Inventory>();
                 //杞﹂棿 浠撳簱瀵圭収鍒楄〃 
                 ds = oCN.RunProcReturn(@" 
@@ -786,28 +776,13 @@
                 //鏃ヨ鍒�+鐢熶骇璁㈠崟瀛愯〃缂栫爜ID
                 var DatePlanList = BomList.GroupBy(p => new { p.HMasterDate, p.HICMOEntryID_Sec }).Select(x => new PRD_PPBOM { HMasterDate = x.Key.HMasterDate, HICMOEntryID_Sec = x.Key.HICMOEntryID_Sec }).ToList();
                 //鍙栧簲鍙戞暟閲� FMustQty 涓嶈鍙栧�奸渶姹傛暟閲廎NeedQty 棰嗘枡鏁版嵁
-                string LLsql = string.Format(@"
-select max(t1.FCXStockInQty)FCXStockInQty,FPRDMOENTYID,max(dwyl)dwyl,sum(FPickedQty)FPickedQty,sum(FRemainPickedQty)FRemainPickedQty,FMATERIALID from 
-(
-select a.FCXStockInQty, FPRDMOENTYID,convert( decimal(18,2),FMustQty/FQty ) as dwyl,FPickedQty,T2.FMATERIALID,
-case when convert( decimal(18,2),(FPickedQty - a.FCXStockInQty * FMustQty/FQty))< 0 then 0 
-else convert( decimal(18,2),(FPickedQty - a.FCXStockInQty * FMustQty/FQty)) end as FRemainPickedQty 
- from 
-(
-select sum(HSourceStockInQty)FCXStockInQty,HICMOEntryID_Sec FPRDMOENTYID from SC_WORKBILLSORTBILLMAIN a
-where a.HInterID IN ({0})
-group by HICMOEntryID_Sec 
-) a
-join  AIS20230129011339..T_PRD_PPBOM T1  on a.FPRDMOENTYID = t1.FMOENTRYID
-LEFT JOIN AIS20230129011339..T_PRD_PPBOMENTRY t2 on T1.FID = T2.FID 
-LEFT JOIN AIS20230129011339..T_PRD_PPBOMENTRY_Q t3 on t2.FENTRYID = T3.FENTRYID 
-LEFT JOIN AIS20230129011339..T_BD_MATERIAL T4 ON T2.FMATERIALID = T4.FMATERIALID 
-) t1
-group by FPRDMOENTYID,FMATERIALID
-", fDayPlanFids);
+                string LLsql = string.Format(@"exec h_p_jit_PPBOMList '{0}'", fDayPlanFids);
                 List<DayPlanPickedModel> DayPlanPickedModel = new List<DayPlanPickedModel>();
+                LogService.Write("LLsql:" + LLsql);
                 ds = oCN.RunProcReturn(LLsql, "SC_WORKBILLSORTBILLMAIN");
+                LogService.Write(JsonConvert.SerializeObject(ds));
                 DayPlanPickedModel = ds.ToModelList<DayPlanPickedModel>();
+                LogService.Write(JsonConvert.SerializeObject(DayPlanPickedModel));
                 //CompleteAnalysisTempModel 鐢ㄤ簬瀛樺偍涓存椂闇�瑕佹彃鍏ユ暟鎹�
                 List<CompleteAnalysisTempModel> completeAnalysisTempModel = new List<CompleteAnalysisTempModel>();
                 //鍒涘缓瀛楀吀 鐢ㄤ簬鍌ㄥ瓨鐗╂枡 + 鍗犵敤鏁伴噺
@@ -816,8 +791,11 @@
                 LogService.Write($"榻愬鍒嗘瀽锛屾暟鎹噯澶囬樁娈碉紝鐢ㄦ椂" + sw.Elapsed + "鎬婚渶瑕佸惊鐜殑bom鏁伴噺锛�" + DatePlanList.Count);
 
                 //绗竴涓惊鐜� 鏃ヨ鍒掑伐鍗曟槑缁� 涓�澶�+涓�涓伐鍗� 涓�涓惊鐜�
+                int o = 0;
                 foreach (var item in DatePlanList)
                 {
+                    o++;
+                    LogService.Write("寰幆:" + o);
                     //鏃ヨ鍒掔敤鏂欐竻鍗曟槑缁� 姣忎竴澶╃殑瀹為檯鐢ㄦ枡鎯呭喌
                     var _BomList = BomList.Where(x => x.HMasterDate == item.HMasterDate && x.HICMOEntryID_Sec == item.HICMOEntryID_Sec).ToList();
                     //姣忎竴涓墿鏂欒繘琛屽簱瀛樿绠�
@@ -853,8 +831,9 @@
                         decimal planNeed = _item.PlanCount; //涓嶅弬涓庤绠� 鐢ㄤ簬璁板綍
                         decimal need = _item.PlanCount;//鍙備笌璁$畻
                         decimal FOccupyPickedCount = 0;//鍗犵敤棰嗘枡鍗曟暟閲�
-                        //鎵惧埌棰嗙敤鏁伴噺
+                                                       //鎵惧埌棰嗙敤鏁伴噺
                         var _DayPlanPickedModel = DayPlanPickedModel.Where(c => c.FPRDMOENTYID == _item.HICMOEntryID_Sec && c.FMATERIALID == _item.FMATERIALID2).FirstOrDefault();
+                       
                         if (_DayPlanPickedModel.FRemainPickedQty >= need)
                         {
                             //棰嗘枡鏁伴噺婊¤冻浜嗗綋鍓嶈繖涓渶姹傞噺 鐩存帴榻愬 涓嶉渶瑕佸幓鍗犵敤浠撳簱
@@ -885,19 +864,24 @@
                             });
                             //鎵i櫎鍓╀綑鍙敤棰嗘枡鏁伴噺
                             _DayPlanPickedModel.FRemainPickedQty -= need;
+                            LogService.Write($"h" + need);
                             //寰幆涓嬩竴涓墿鏂�
                             continue;
                         }
                         else
                         {
+                            LogService.Write($"kxs" + need);
                             need -= _DayPlanPickedModel.FRemainPickedQty; //鍓╀綑闇�姹傛暟閲�
+                            LogService.Write($"i1" + need);
                             FOccupyPickedCount = _DayPlanPickedModel.FRemainPickedQty;
                             _DayPlanPickedModel.FRemainPickedQty = 0;
+                            LogService.Write($"i" + need);
                         }
                         if (_pRD_WorkHouseCompar.Count > 0)
                         {
                             //缂烘枡鏁伴噺 闇�姹傛暟閲� - 瀹為檯搴撳瓨  >0 ? 涓�涓墿鏂欎笉绠″崰鐢ㄥ灏戞潯 搴撳瓨+璐т富 鏁版嵁 缂烘枡鏁伴噺鏄悓涓�涓暟閲�
                             decimal _fLackCount = need > jskcQty ? (need - jskcQty) : 0;
+                            LogService.Write($"j" + _fLackCount);
                             //LogHelper.Info("缁勭粐锛�" + _item.FStockOrgId + " ,鍙婃椂搴撳瓨" + jskcQty);
                             //鎬诲簱瀛樹负0浜� 鐩存帴缁欏嚭 缂烘枡鏁伴噺
                             if (jskcQty == 0)
@@ -930,6 +914,8 @@
                                 //缁堟璇ョ墿鏂欒绠� 杩涘叆涓嬩竴涓�
                                 continue;
                             }
+
+                            LogService.Write($"k" + 2);
                             foreach (var WorkHouse in _pRD_WorkHouseCompar)
                             {
                                 //搴撳瓨鏁版嵁鍖归厤
@@ -1226,6 +1212,8 @@
             /// 搴撳瓨缁勭粐
             /// </summary>
             public long FStockOrgId { get; set; }
+            //搴撳瓨缁勭粐鍚嶇О
+            public string FStockOrgName { get; set; }
             /// <summary>
             /// jit鐗╂枡鍒嗙被
             /// </summary>
@@ -1299,6 +1287,10 @@
             /// 閲囪喘缁勭粐
             /// </summary>
             public long FStockOrgId { get; set; }
+            /// <summary>
+            /// 閲囪喘缁勭粐鍚嶇О
+            /// </summary>
+            public string FStockOrgName { get; set; }
             /// <summary>
             /// 缁勭粐缂栫爜
             /// </summary>
@@ -1440,6 +1432,10 @@
             /// </summary>
             public long FStockOrgId { get; set; }
             /// <summary>
+            /// 閲囪喘缁勭粐鍚嶇О
+            /// </summary>
+            public string FStockOrgName { get; set; }
+            /// <summary>
             /// 缁勭粐缂栫爜
             /// </summary>
             public string FORGNumber { get; set; }
@@ -1503,15 +1499,65 @@
 
         [Route("JIT_DayPlanPlatFormBill/JIT_TLYS")]
         [HttpGet]
-        public object JIT_TLYS(string sWhere, string user)
+        public object JIT_TLYS(string sWhere, string user,string HTLType)
         {
             try
             {
                 omdelMian = JsonConvert.DeserializeObject<Sc_WorkBillSortBillMain>(sWhere);
 
-                DataSet DaSet = oCN.RunProcReturn($"select * from JIT_MOMaterReadysBill where HWorkShopID={omdelMian.HWorkShopID} and HProdORGID={omdelMian.HProdORGID}", "JIT_MOMaterReadysBill");
+                string fProWorkShopId = omdelMian.HWorkShopID.ToString();
+                var fPrdOrgId = omdelMian.HProdORGID;
+                string sqlName = "";//AIS20210811135644
+                //瀹㈡埛鍒跺畾
+                string sErr = "";
+                if (oSystemParameter.ShowBill(ref sErr))
+                {
+                    if (oSystemParameter.omodel.WMS_CampanyName == "甯呭▉")
+                    {
+                        sqlName = "AIS20230129011339";
+                    }
+                    else
+                    {
+                        sqlName = "AIS20210811135644";
+                    }
+                }
 
-                if (DaSet.Tables[0].Rows.Count == 0)
+                if (HTLType == "缂烘枡")
+                {
+                    objJsonResult = (json)JIT_QL(fProWorkShopId, fPrdOrgId, user, sqlName);
+                }
+                else if (HTLType == "鐢熶骇鐢ㄦ枡娓呭崟")
+                {
+                 objJsonResult=(json)JIT_PPBOM(fProWorkShopId, fPrdOrgId, user, sqlName);
+                }
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                LogService.Write("鎿嶄綔澶辫触锛�" + e.Message.ToString());
+                oCN.RollBack();//浜嬪姟鍥炴粴
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.Message.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        /// <summary>
+        /// 閫氳繃缂烘枡鎯呭喌绠楁彁鏂�
+        /// </summary>
+        /// <returns></returns>
+        public object JIT_QL(string HWorkShopID,int? HProdORGID,string user,string sqlName) {
+            try
+            {
+
+                oCN.BeginTran();
+
+                DataSet DaSet = oCN.RunProcReturn($"exec h_p_JIT_MOMaterReady {HWorkShopID},{HProdORGID},1", "JIT_MOMaterReadysBill");
+
+                if (DaSet.Tables[0].Rows[0][0].ToString() != "1")
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -1520,12 +1566,460 @@
                     return objJsonResult;
                 }
 
-                string fProWorkShopId = omdelMian.HWorkShopID.ToString();
-                var fPrdOrgId = omdelMian.HProdORGID;
+                //Stopwatch sw = new Stopwatch();
+                //sw.Start();//寮�濮嬭鏃�
+                //鎻愭枡璁″垝棰勫鐞� 娓呯悊鎻愭枡璁″垝鍗曟暟鎹� 鏇存柊閲囪喘璁㈠崟鎻愭枡璁″垝鏁伴噺
+                //               string sql = string.Format(@"
+                // /*dialect*/
+                //exec [鎻愭枡璁″垝棰勫鐞哴 
+                //");
+                //               DBServiceHelper.Execute(Context, sql);
+                ////LogHelper.Info("[鎻愭枡璁″垝鍑嗗闃舵]鎻愭枡璁″垝棰勫鐞唖ql锛�" + sql);
+                //閲囪喘璁㈠崟鏁版嵁
+                string sql = $@"exec h_p_JIT_MOMaterReady {HWorkShopID},{HProdORGID},2";
+                DataSet ds = oCN.RunProcReturn(sql, "t_PUR_POOrderEntry");
+                List<PurchaseInventory> PurchaseInventory = ds.ToModelList<PurchaseInventory>();
+                ////LogHelper.Info("[鎻愭枡璁″垝鍑嗗闃舵]鍙敤閲囪喘璁㈠崟鏁版嵁sql锛�" + sql);
+                sql = string.Format($@"exec h_p_JIT_MOMaterReady {HWorkShopID},{HProdORGID},3");
+                ////LogHelper.Info("[鎻愭枡璁″垝鍑嗗闃舵]闇�瑕佹彁鏂欐暟鎹畇ql锛�" + sql);
+                ds = oCN.RunProcReturn( sql, "JIT_MOMaterReadysBill");
+                List<DayPlanPpbom> DayPlanPpbom = ds.ToModelList<DayPlanPpbom>();
+                //鐗╂枡+搴撳瓨缁勭粐鍒嗙被
+                var MaterialIDList = DayPlanPpbom.GroupBy(p => new { p.FMATERIALID, p.FNumber,p.FStockOrgName, p.FStockOrgId }).Select(x => new PODemandPlanTemp { FMATERIALID = x.Key.FMATERIALID, FNumber=x.Key.FNumber, FStockOrgId = x.Key.FStockOrgId , FStockOrgName =x.Key.FStockOrgName }).ToList();
+                //鎻愭枡璁″垝鏁版嵁闆嗕复鏃跺瓨鍌ㄩ泦鍚�
+                List<PODemandPlanTemp> PODemandPlanTemp = new List<PODemandPlanTemp>();
+                //sql闆嗗悎 鏇存柊閲囪喘璁㈠崟鍗犵敤鐨勬彁鏂欒鍒掓暟閲�
+                List<string> sqlList = new List<string>();
 
-                LogService.Write($"鎻愭枡璁″垝閲嶇畻 杞﹂棿锛歿fProWorkShopId}锛岀粍缁囷細{fPrdOrgId}");
+                LogService.Write("1");
+                string Error = "";
+                foreach (var item in MaterialIDList)
+                {
+                    //褰撳墠鐗╂枡娌℃湁閲囪喘璁㈠崟鏃� 鐩存帴璺冲嚭
+                    List<PurchaseInventory> _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).OrderBy(x => x.FENTRYID).ToList();
+                    if (_PurchaseInventory.Count == 0)
+                    {
+                        Error+="[鎻愭枡璁″垝寮�濮媇褰撳墠鐗╂枡鏃犻噰璐俊鎭細" + item.FNumber + " 搴撳瓨缁勭粐锛�" + item.FStockOrgName + "      ";
+                        continue;
+                    }
+
+                    LogService.Write("1.1");
+
+                    ////LogHelper.Info(item.FMATERIALID.ToString());
+                    //褰撳墠鐗╂枡鍜屽簱瀛樼粍缁囧搴旂殑闇�杩涜鎻愭枡璁″垝鐨勬暟鎹�    
+                    List<DayPlanPpbom> _DayPlanPpbom = DayPlanPpbom.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId).ToList();
+                    decimal FMINPOQTY = _DayPlanPpbom.FirstOrDefault().FMINPOQTY;//鏈�灏忚捣璁㈤噺
+                    double FFIXLEADTIME = _DayPlanPpbom.FirstOrDefault().FFIXLEADTIME;//鎻愬墠鏈�
+                    //double FFIXLEADTIME = 3;//鎻愬墠鏈�(2022-1-26 鎻愬墠鏈熸敼涓�3澶� 涔冩案鍒氬弽棣�)
+                    string FJITmaterialGroup = _DayPlanPpbom.FirstOrDefault().FJITmaterialGroup;//jit鐗╂枡鍒嗙被
+                    string FJITMaterielDemand = _DayPlanPpbom.FirstOrDefault().FJITMaterielDemand; //JIT鐗╂枡闇�姹備緵璐у懆鏈�
+                    string FJITSafeStock = _DayPlanPpbom.FirstOrDefault().FJITSafeStock; //JIT瀹夊叏搴撳瓨
+                    decimal NeedQty = 0;
+                    DateTime DATE = _DayPlanPpbom.FirstOrDefault().FHMASTERDATE;//绗竴涓璐ц捣濮嬫棩鏈�
+                    int i = 0;
+                    //璁板綍鍦ㄦ渶灏忛噰璐噺闇�姹備笅鐨勬棩璁″垝鏄庣粏FentyrID
+
+                    LogService.Write("1.2");
+
+                    List<int> FEntryIdList = new List<int>();
+                    foreach (var _item in _DayPlanPpbom)
+                    {
+                        i++;
+                        _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).OrderBy(x => x.FENTRYID).ToList();
+                        if (_PurchaseInventory.Count == 0)
+                        {
+                            break;
+                        }
+
+                        LogService.Write("1.2.1");
+
+                        if (NeedQty == 0)
+                        {
+                            DATE = Convert.ToDateTime(_item.FHMASTERDATE).AddDays(-FFIXLEADTIME);
+                        }
+                        FEntryIdList.Add(_item.FENTRYID);
+                        NeedQty += _item.NeedQty;
+                        //LogService.Write(FJITmaterialGroup);
+                        //LogService.Write(FEntryIdList.Count);
+                        //LogService.Write(Convert.ToDouble(FJITMaterielDemand));
+                        //LogService.Write(_DayPlanPpbom.Count);
+                        //LogService.Write(i);
+                        if ((FJITmaterialGroup == "鎬婚噺鎺у埗瑙勬牸绫�" || FJITmaterialGroup == "璁㈠崟涓撶敤涓�х被") && FEntryIdList.Count < Convert.ToDouble(FJITMaterielDemand) && i < _DayPlanPpbom.Count) //璁㈠崟涓撶敤涓�х被
+                        {
+                            continue;
+                        }
+
+                        LogService.Write("1.2.2");
+
+                        foreach (var Purchase in _PurchaseInventory)
+                        {
+                            if (Purchase.FQTY >= NeedQty)
+                            {
+                                foreach (int id in FEntryIdList)
+                                {
+                                    var DayPlanPpbomls = DayPlanPpbom.Where(c => c.FENTRYID == id && c.FMATERIALID == _item.FMATERIALID).FirstOrDefault();
+                                    PODemandPlanTemp.Add(new PODemandPlanTemp
+                                    {
+                                        FID = DayPlanPpbomls.FID,
+                                        FHMASTERDATE = DATE,
+                                        FQty = DayPlanPpbomls.NeedQty,
+                                        FBILLNO = DayPlanPpbomls.FBILLNO,
+                                        FENTRYID = DayPlanPpbomls.FENTRYID,
+                                        FMATERIALID = DayPlanPpbomls.FMATERIALID,
+                                        FNumber = DayPlanPpbomls.FNumber,
+                                        OLDDATE = DayPlanPpbomls.FHMASTERDATE,
+                                        FFIXLEADTIME = FFIXLEADTIME,
+                                        FErpClsID = DayPlanPpbomls.FErpClsID,
+
+                                        PurchseFID = Purchase.FID,
+                                        PurchseFentryID = Purchase.FENTRYID,
+                                        FSUPPLIERID = Purchase.FSUPPLIERID,
+                                        PurchseFNUMBER = Purchase.FNUMBER,
+                                        PurchseFBillNo = Purchase.FBillNo,
+                                        PurchseFqty = Purchase.FQTY,
+                                        FStockOrgId = Purchase.FStockOrgId, //閲囪喘缁勭粐
+                                        FORGNumber = Purchase.FORGNumber,
+
+                                        FXQD = _item.FXQD,
+                                        FCREATORID = Purchase.FCREATORID,
+                                        FName = Purchase.FName,
+                                        FDate = Purchase.FDate,
+                                        FDeliveryDate = Purchase.FDeliveryDate,
+                                        F_QIMB_NOTE = Purchase.F_QIMB_NOTE,
+                                        FNOTE = Purchase.FNOTE,
+                                        FPURCHASEQTY = Purchase.FPURCHASEQTY,
+                                        FJOINQTY = Purchase.FJOINQTY
+                                    });
+                                    //鎵i櫎鏃ヨ鍒掓槑缁嗗凡琚垎閰嶇殑鏁伴噺
+                                    DayPlanPpbomls.NeedQty = 0;
+                                }
+
+                                LogService.Write("1.2.3");
+
+                                FEntryIdList.Clear();
+                                //鏇存柊閲囪喘璁㈠崟
+                                //sqlList.Add($"/*dialect*/ update t_PUR_POOrderEntry set FPODemandPlanCount  =isnull(FPODemandPlanCount,0)+  '{NeedQty}' where FENTRYID = {Purchase.FENTRYID}");
+                                //鎵i櫎褰撳墠琛屽搴旈噰璐鍗曟暟閲�
+                                var ls = PurchaseInventory.Where(c => c.FENTRYID == Purchase.FENTRYID).FirstOrDefault();
+                                ls.FQTY -= NeedQty;
+                                break;
+                            }
+                            else
+                            {
+                                //鏇存柊鎬婚渶姹傛暟閲�
+                                NeedQty = NeedQty - Purchase.FQTY;
+                                //閲囪喘璁㈠崟鏁伴噺
+                                decimal _NeedQty = Purchase.FQTY;
+                                List<int> mmm = new List<int>();
+                                foreach (int id in FEntryIdList)
+                                {
+                                    var DayPlanPpbomls = DayPlanPpbom.Where(c => c.FENTRYID == id && c.FMATERIALID == _item.FMATERIALID).FirstOrDefault();
+                                    decimal Qty = DayPlanPpbomls.NeedQty;//璁㈠崟鏁伴噺
+                                  
+                                    if (Qty > _NeedQty)
+                                        Qty = _NeedQty; //璁㈠崟鏁伴噺>閲囪喘璁㈠崟鏁伴噺 鍙栭噰璐鍗�
+
+                                    _NeedQty = _NeedQty - Qty;
+                                    PODemandPlanTemp.Add(new PODemandPlanTemp
+                                    {
+                                        FID = DayPlanPpbomls.FID,
+                                        FHMASTERDATE = DATE,
+                                        FQty = Qty,
+                                        FBILLNO = DayPlanPpbomls.FBILLNO,
+                                        FENTRYID = DayPlanPpbomls.FENTRYID,
+                                        FMATERIALID = DayPlanPpbomls.FMATERIALID,
+                                        FNumber = DayPlanPpbomls.FNumber,
+                                        OLDDATE = DayPlanPpbomls.FHMASTERDATE,
+                                        FFIXLEADTIME = FFIXLEADTIME,
+                                        FErpClsID = DayPlanPpbomls.FErpClsID,
+
+                                        PurchseFID = Purchase.FID,
+                                        PurchseFentryID = Purchase.FENTRYID,
+                                        FSUPPLIERID = Purchase.FSUPPLIERID,
+                                        PurchseFNUMBER = Purchase.FNUMBER,
+                                        PurchseFBillNo = Purchase.FBillNo,
+                                        PurchseFqty = Purchase.FQTY,
+                                        FStockOrgId = Purchase.FStockOrgId, //閲囪喘缁勭粐
+                                        FORGNumber = Purchase.FORGNumber,
+
+                                        FPURCHASEDEPTNUMBER = Purchase.FPURCHASEDEPTNUMBER,
+                                        FXQD = _item.FXQD,
+                                        FCREATORID = Purchase.FCREATORID,
+                                        FName = Purchase.FName,
+                                        FDate = Purchase.FDate,
+                                        FDeliveryDate = Purchase.FDeliveryDate,
+                                        F_QIMB_NOTE = Purchase.F_QIMB_NOTE,
+                                        FNOTE = Purchase.FNOTE,
+                                        FPURCHASEQTY = Purchase.FPURCHASEQTY,
+                                        FJOINQTY = Purchase.FJOINQTY
+                                    });
+                                    //鏇存柊璁″垝鏁伴噺锛堝墿浣欓渶瑕佹帓鐨勶級 缁х画鍘昏绠椾笅涓�涓噰璐鍗�
+                                    DayPlanPpbomls.NeedQty -= Qty;
+                                    //鏇存柊閲囪喘璁㈠崟
+                                    //sqlList.Add($"/*dialect*/ update t_PUR_POOrderEntry set FPODemandPlanCount = isnull(FPODemandPlanCount,0)+ '{Qty}' where FENTRYID = {Purchase.FENTRYID}");
+                                    //鏇存柊Model
+                                    var ls = PurchaseInventory.Where(c => c.FENTRYID == Purchase.FENTRYID).FirstOrDefault();
+                                    ls.FQTY -= Qty;
+                                    if (_NeedQty <= 0)
+                                    {
+                                        foreach (var mm in mmm)
+                                        {
+                                            FEntryIdList.Remove(mm);
+                                        }
+                                        break;
+                                    }
+                                    mmm.Add(id);
+                                }
+                            }
+                        }
+
+                        LogService.Write("1.2.4");
+
+                        NeedQty = 0;
+
+                    }
+                }
+
+                //var PODemandPlanList222 = PODemandPlanTemp.GroupBy(p => new PODemandPlanTemp { PurchseFNUMBER = p.PurchseFNUMBER, FHMASTERDATE = p.FHMASTERDATE }).Select(x => new PODemandPlanTemp { PurchseFNUMBER = x.Key.PurchseFNUMBER, FHMASTERDATE = x.Key.FHMASTERDATE }).ToList();
+                var PODemandPlanList = PODemandPlanTemp.GroupBy(p => new { p.PurchseFNUMBER, p.FHMASTERDATE }).Select(x => new PODemandPlanTemp { PurchseFNUMBER = x.Key.PurchseFNUMBER, FHMASTERDATE = x.Key.FHMASTERDATE }).ToList();
+                //LogHelper.Info($"鎻愭枡璁″垝锛屾暟鎹噯澶囧畬鎴愶紝淇濆瓨鍒癕odel瀹炰綋锛屾�昏鏁帮細{PODemandPlanTemp.Count}");
+                int tlmmm = 0;
+                JArray FinalyResult = new JArray();
+
+                LogService.Write("2");
+
+                foreach (var item in PODemandPlanList)
+                {
+                    tlmmm++;
+
+                    DateTime date = item.FHMASTERDATE;
+                    string PurchseFNUMBER = item.PurchseFNUMBER;
+                    //JObject model = new JObject();
+                    //model.Add("FHDate", date);
+                    //model.Add("FDeliveryDate", date.AddDays(-3));//渚涘簲鍟嗛璁″彂璐ф棩鏈�
+                    //model.Add("FSettleCurrId", new JObject() { ["Fnumber"] = "PRE001" });
+                    //model.Add("FSupplierID", new JObject() { ["Fnumber"] = PurchseFNUMBER });
+
+                    var HInterID = DBUtility.ClsPub.CreateBillID("4608", ref DBUtility.ClsPub.sExeReturnInfo);
+                    var HBillNo = DBUtility.ClsPub.CreateBillCode("4608", ref DBUtility.ClsPub.sExeReturnInfo, true);
+
+                    var dataUser = oCN.RunProcReturn("select Czymc from gy_czygl where Czybm = '" + user + "'", "gy_czygl");
+                    string HMaker = dataUser.Tables[0].Rows.Count == 0 ? "" : dataUser.Tables[0].Rows[0][0].ToString();//鍒跺崟浜�
+                    string HUpDater = dataUser.Tables[0].Rows.Count == 0 ? "" : dataUser.Tables[0].Rows[0][0].ToString();//淇敼浜�
+                   
+
+                    var dataOrg = oCN.RunProcReturn(@"select HItemID from Xt_ORGANIZATIONS o
+                    inner join  "+ sqlName + @"..T_ORG_ORGANIZATIONS fo on o.HNumber=fo.FNUMBER
+                    where FNUMBER='" + PODemandPlanTemp[0].FORGNumber + "'  and HItemID ='" + HProdORGID + "'", "Xt_ORGANIZATIONS");
+                    long HPURCHASEORGID = dataOrg.Tables[0].Rows.Count == 0 ? 0 : long.Parse(dataOrg.Tables[0].Rows[0]["HItemID"].ToString()); //閲囪喘缁勭粐
+
+                    var dataSup = oCN.RunProcReturn(@"select * from Gy_Supplier p
+                    inner join  " + sqlName + @"..t_BD_Supplier fp on p.HNumber=fp.FNUMBER and p.HUSEORGID=fp.FUSEORGID
+                    where FNUMBER='" + item.PurchseFNUMBER + "' and HUSEORGID ='" + HProdORGID + "'", "Gy_Supplier");
+                    long HSupplierID = dataSup.Tables[0].Rows.Count == 0 ? 0 : long.Parse(dataSup.Tables[0].Rows[0]["HItemID"].ToString()); //渚涘簲鍟�
+
+                    long HSettleCurrId = 1;//璐у竵 榛樿鏈湴浜烘皯甯�
+
+                    //涓昏〃
+                    oCN.RunProc("insert into JIT_Cg_PODemandPlanBillMain(HInterID,HBillNo,HYear,HPeriod,HBillType" +
+                                ",HBillSubType,HDate,HBillStatus,HMaker,HMakeDate" +
+                                ",HSubORGID ,HAddress,HPURCHASEORGID,HSupplierID ,HSettleCurrId" +
+                                ",HRemark,HExplanation,HUpDater,HUpDateDate)" +
+                               $"values({HInterID}, '{HBillNo}', {DateTime.Now.Year}, {DateTime.Now.Month}, '4608'" +
+                               $", '4608','{date}',1, '{HMaker}',GETDATE()," +
+                               $"{HPURCHASEORGID},'',{HPURCHASEORGID}, {HSupplierID}, {HSettleCurrId}" +
+                               $",'','','{HUpDater}',getdate())");
+
+                    JArray Fentity = new JArray();
+                    List<PODemandPlanTemp> _PODemandPlanList = PODemandPlanTemp.Where(x => x.FHMASTERDATE == date && x.PurchseFNUMBER == PurchseFNUMBER).ToList();
+                    //LogService.Write("娴嬭瘯listmodel锛�" + _PODemandPlanList[0].FORGNumber.ToString());
+                    int i = 0;
+                    foreach (var _item in _PODemandPlanList)
+                    {
+                        i++;
+                        //if (!model.ToString().Contains("FHPURCHASEORGID"))
+                        //    model.Add("FHPURCHASEORGID", new JObject() { ["Fnumber"] = _item.FORGNumber });
+                        //JObject FentityModel = new JObject();
+                        //FentityModel.Add("FHPURCHASEORGID", new JObject() { ["Fnumber"] = _item.FORGNumber });//閲囪喘缁勭粐
+                        //FentityModel.Add("FHMaterID", new JObject() { ["Fnumber"] = _item.FNumber });//鐗╂枡
+                        //FentityModel.Add("FHQty", _item.FQty);//鏁伴噺
+                        //FentityModel.Add("FHSourceInterID", _item.FID);//鏃ヨ鍒掑伐鍗旻ID
+                        //FentityModel.Add("FHSourceEntryID", _item.FENTRYID);//鏃ヨ鍒掑伐鍗旻ENTRYID
+                        //FentityModel.Add("FHSourceBillNo", _item.FBILLNO);//鏃ヨ鍒掑伐鍗曞崟鍙�
+                        //FentityModel.Add("FHSourceBillType", "");//鏃ヨ鍒掑伐鍗曠被鍨�
+                        //FentityModel.Add("FDayPlanDate", _item.OLDDATE);//鏃ヨ鍒掑伐鍗曠被鍨�
+                        //FentityModel.Add("FHRelationQty", _item.PurchseFqty);//鍏宠仈鏁伴噺
+                        //FentityModel.Add("FFIXLEADTIME", _item.FFIXLEADTIME);//鎻愬墠鏈�
+                        //FentityModel.Add("FPURCHASEORGID", new JObject() { ["Fnumber"] = _item.FORGNumber });//閲囪喘缁勭粐
+                        //FentityModel.Add("FHPOOrderInterID", _item.PurchseFID);// 閲囪喘璁㈠崟鍐呯爜锛欶HPOOrderInterID
+                        //FentityModel.Add("FHPOOrderEntryID", _item.PurchseFentryID); //閲囪喘璁㈠崟瀛愬唴鐮侊細FHPOOrderEntryID
+                        //FentityModel.Add("FHPOOrderBillNo", _item.PurchseFBillNo); //閲囪喘璁㈠崟鍙凤細FHPOOrderBillNo
+                        //FentityModel.Add("FERPCLSID", _item.FErpClsID); //鍙戞枡鏂瑰紡
+                        //FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = "Pcs" }); //鍙戞枡鏂瑰紡
+                        //Fentity.Add(FentityModel);
+
+
+                        var dataSet = oCN.RunProcReturn(@"select m.* from Gy_Material m
+                        inner join  " + sqlName + @"..T_BD_MATERIAL fm on m.HNumber = fm.FNUMBER and m.HUSEORGID=fm.FUSEORGID
+                        where FNUMBER='" + _item.FNumber + "'  and HUSEORGID ='" + HProdORGID + "'", "Gy_Material");
+                        string HMaterID = "0"; //鐗╂枡
+                        string HMaterModel = ""; //鐗╂枡浠g爜
+                        string HMaterName = ""; //鐗╂枡鍚嶇О
+                        if (dataSet.Tables[0].Rows.Count != 0)
+                        {
+                            HMaterID = dataSet.Tables[0].Rows[0]["HItemID"].ToString(); //鐗╂枡
+                            HMaterModel = dataSet.Tables[0].Rows[0]["HNumber"].ToString(); //鐗╂枡浠g爜
+                            HMaterName = dataSet.Tables[0].Rows[0]["HName"].ToString(); //鐗╂枡鍚嶇О
+                        }
+
+                        decimal HQty = _item.FQty; //鏁伴噺
+                        long HSourceInterID = _item.FID; //鏃ヨ鍒掑伐鍗旻ID
+                        long HSourceEntryID = _item.FENTRYID;//鏃ヨ鍒掑伐鍗旻ENTRYID
+                        string HSourceBillNo = _item.FBILLNO; //鐢熶骇璁㈠崟鍙�
+                        string HSourceBillType = ""; //鏃ヨ鍒掑伐鍗曠被鍨�
+                        DateTime HDayPlanDate = _item.OLDDATE; // 宸ュ崟鐢熶骇鏃ユ湡
+                        decimal HRelationQty = _item.PurchseFqty; // 鍏宠仈鏁伴噺
+                        double HFixleadTime = _item.FFIXLEADTIME; // 鎻愬墠鏈�
+
+                        dataOrg = oCN.RunProcReturn(@"select HItemID from Xt_ORGANIZATIONS o
+                    inner join  " + sqlName + @"..T_ORG_ORGANIZATIONS fo on o.HNumber=fo.FNUMBER
+                    where FNUMBER='" + _item.FORGNumber + "'  and HItemID ='" + HProdORGID + "'", "Xt_ORGANIZATIONS");
+                        long HPURCHASEORGIDSub = dataOrg.Tables[0].Rows.Count == 0 ? 0 : long.Parse(dataOrg.Tables[0].Rows[0]["HItemID"].ToString()); // 閲囪喘缁勭粐
+                        long HPOOrderInterID = _item.PurchseFID; // 閲囪喘璁㈠崟鍐呯爜
+                        long HPOOrderEntryID = _item.PurchseFentryID; // 閲囪喘璁㈠崟瀛愬唴鐮�
+                        string HPOOrderBillNo = _item.PurchseFBillNo; // 閲囪喘璁㈠崟鍙�
+                        string HErpClsID = _item.FErpClsID; // 鐗╂枡灞炴��
+                        long HUnitID = 10101; // 璁¢噺鍗曚綅  鍏堟寜鐓ф湰鍦版潵  榛樿 Pcs
+                        string HSeOrderBillNo = _item.FXQD; // 閿�鍞鍗曞彿   闇�姹傚崟鍙�
+                        string HOrderEmpID = _item.FCREATORID; // 閲囪喘鍛�  
+                        DateTime HPOOrderBillDate = _item.FDate; // 閲囪喘璁㈠崟鍗曟嵁鏃ユ湡  
+                        DateTime HPOOrderBillDeliveryDate = _item.FDeliveryDate; // 閲囪喘璁㈠崟浜よ揣鏃ユ湡  
+                        string HPOOrderBillRemark = _item.F_QIMB_NOTE; // 閲囪喘璁㈠崟鎽樿  
+                        string HPOOrderBillNote = _item.FNOTE; // 閲囪喘璁㈠崟琛ㄤ綋澶囨敞  
+                        string HDayPlanBillNo = _item.FDAYPLANBILLNO; // 鏃ヨ鍒掑伐鍗曞彿  
+
+                        dataSet = oCN.RunProcReturn(@"select HItemID from Gy_Department d
+                        inner join  " + sqlName + @"..T_BD_DEPARTMENT fd on d.HNumber = fd.FNUMBER
+                        where FNUMBER='" + _item.FWORKSHOPNUMBER + "'  and HUSEORGID ='" + HProdORGID + "'", "Gy_Department");
+                        HWorkShopID = dataSet.Tables[0].Rows.Count == 0 ? "0" : dataSet.Tables[0].Rows[0][0].ToString(); // 鐢熶骇杞﹂棿  
+
+                        dataSet = oCN.RunProcReturn(@"select HItemID from Gy_Department d
+                        inner join  " + sqlName + @"..T_BD_DEPARTMENT fd on d.HNumber = fd.FNUMBER
+                        where FNUMBER='" + _item.FPURCHASEDEPTNUMBER + "'  and HUSEORGID ='" + HProdORGID + "'", "Gy_Department");
+                        string HPurchaseDeptID = dataSet.Tables[0].Rows.Count == 0 ? "0" : dataSet.Tables[0].Rows[0][0].ToString(); // 閲囪喘閮ㄩ棬  
+
+                        decimal HPURCHASEQTY = _item.FPURCHASEQTY; // 閲囪喘璁㈠崟鏁伴噺  
+                        decimal HJoinQty = _item.FJOINQTY; // 閲囪喘璁㈠崟鍏宠仈鏁伴噺  
+
+                        oCN.RunProc("insert into JIT_Cg_PODemandPlanBillSub(HInterID,HEntryID,HLaterReason,HMaterID,HMaterName" +
+                          ", HMaterModel, HUnitID, HErpClsID, HQty, HRemark" +
+                          ", HPURCHASEORGID, HStatus, HFixleadTime, HDayPlanBillNo, HSourceInterID" +
+                          ", HSourceEntryID, HSourceBillNo, HSourceBillType, HWorkShopID, HDayPlanDate" +
+                          ", HRelationQty1, HPOOrderInterID, HPOOrderEntryID, HPOOrderBillNo, HPOOrderBillSEQ" +
+                          ", HWWOrderInterID, HWWOrderEntryID, HWWOrderBillNo, HPurchaseDeptID, HCloseTypeSub" +
+                          ", HCloseMan, HEntryCloseDate, HSendQty, HReciveQty, HCloseStatus" +
+                          ", HRemoveQty, HSeOrderBillNo, HUnReciveQty, HPOOrderBillDate, HPOOrderBillDeliveryDate" +
+                          ", HPOOrderBillRemark, HPOOrderBillNote)" +
+                          $"values({HInterID}, {i}, '', {(HMaterID == null ? "0" : HMaterID)}, '{HMaterName}'" +
+                          $", '{HMaterModel}', {HUnitID}, '{HErpClsID}', {HQty}, ''" +
+                          $", {HPURCHASEORGIDSub}, '', {HFixleadTime}, '{HDayPlanBillNo}', {HSourceInterID}" +
+                          $", {HSourceEntryID}, '{HSourceBillNo}', '{HSourceBillType}', {HWorkShopID}, '{HDayPlanDate}'" +
+                          $", {HRelationQty}, {HPOOrderInterID},{HPOOrderEntryID}, '{HPOOrderBillNo}',0" +
+                          $",0,0, '',{HPurchaseDeptID}, '0'" +
+                          $", '','',0,0, '0'" +
+                          $",0, '{HSeOrderBillNo}',0, '{HPOOrderBillDate}', '{HPOOrderBillDeliveryDate}'" +
+                          $", '{HPOOrderBillRemark}', '{HPOOrderBillNote}')");
+
+                    }
+                    //model.Add("FEntity", Fentity);
+                    //FinalyResult.Add(model);
+                    //    if ((tlmmm >= 20 || tlmmm == PODemandPlanList.Count) && (tlmmm % 20 == 0 || tlmmm == PODemandPlanList.Count))
+                    //    {
+                    //        //LogHelper.Info("鎻愭枡璁″垝鏂板鎵归噺鎵ц锛岃褰曞惊鐜殑褰撳墠鏉℃暟" + tlmmm);
+                    //        JObject jsonRoot = new JObject()
+                    //        {
+                    //            ["Creator"] = "",
+                    //            ["NeedUpDateFields"] = new JArray(),
+                    //            ["NeedReturnFields"] = new JArray(),
+                    //            ["IsDeleteEntry"] = "false",
+                    //            ["SubSystemId"] = "",
+                    //            ["IsVerifyBaseDataField"] = "false",
+                    //            ["Model"] = FinalyResult
+                    //        };
+                    //        CloudClient cloudClient = new CloudClient("http://localhost//k3cloud/");
+                    //        var result = cloudClient.BatchSave("paez_PODemandPlan", jsonRoot.ToString());
+                    //        JObject saveObj = JObject.Parse(result);
+                    //        string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
+                    //        if (saveIsSuc != "TRUE")
+                    //        {
+                    //            //LogHelper.Error(jsonRoot.ToString());
+                    //        }
+                    //        FinalyResult = new JArray();
+                    //    }
+                    //    tlmmm++;
+                }
+
+                LogService.Write("3");
+                if (Error != "")
+                {
+                    oCN.Commit();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "杩愮畻鎴愬姛!" + Error;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else if (tlmmm == PODemandPlanList.Count && tlmmm != 0)
+                {
+                    oCN.Commit();
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "杩愮畻鎴愬姛!" + Error;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    oCN.RollBack();//浜嬪姟鍥炴粴
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "杩愮畻澶辫触!" + Error;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ////sw.Stop();//缁撴潫璁℃椂
+                //////LogHelper.Info("鎻愭枡璁″垝鎵ц瀹屾垚锛岃繍琛屾�绘椂闀匡細" + sw.Elapsed);
+                //DBServiceHelper.ExecuteBatch(Context, sqlList);
+
+                //objJsonResult.code = "1";
+                //objJsonResult.count = 1;
+                //objJsonResult.Message = "鎻愭枡杩愮畻鎴愬姛锛�";
+                //objJsonResult.data = null;
+                //return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                LogService.Write("鎿嶄綔澶辫触锛�" + e.Message.ToString());
+                oCN.RollBack();//浜嬪姟鍥炴粴
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.Message.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+
+        }
+
+        /// <summary>
+        /// 閫氳繃鐢熶骇鐢ㄦ枡娓呭崟 绠楃己鏂欐儏鍐�
+        /// </summary>
+        /// <returns></returns>
+        public object JIT_PPBOM(string fProWorkShopId,int? fPrdOrgId,string user,string sqlName) {
+
+            try
+            {
                 Stopwatch sw = new Stopwatch();
-
                 sw.Start();//寮�濮嬭鏃�
                            //鎻愭枡璁″垝棰勫鐞� 娓呯悊鎻愭枡璁″垝鍗曟暟鎹� 鏇存柊閲囪喘璁㈠崟鎻愭枡璁″垝鏁伴噺 骞朵笖鏌ヨ鍑洪渶瑕佽繘琛岃繍绠楃殑鏁版嵁
 
@@ -1548,32 +2042,13 @@
 
                 //t2.FXQD  t2.FSTOCKINQTY,t2.FReceiveQty 鏈湴娌℃湁杩欎簺瀛楁
                 string sql = string.Format(@"
- /*dialect*/
-select t4.FSTOCKINQTY,t4.FReceiveQty,t1.FID,t1.FBillNo,t2.FENTRYID,t1.FSUPPLIERID,t3.fnumber,t2.FMATERIALID,(t4.FREMAINRECEIVEQTY-t2.FPODemandPlanCount)FQTY
-,FPurchaseOrgId FStockOrgId,t5.FNUMBER FORGNumber,FCloseStatus,FMRPCLOSESTATUS,FPURCHASEDEPTID,t7.FNUMBER as FPURCHASEDEPTNUMBER
-,t1.FCREATORID,t8.FName ,t1.FDate,tD.FDeliveryDate,t2.FNOTE,(t4.FReceiveQty - t4.FSTOCKINQTY) as  FReceiveNotInQty,'' FXQD,T2.FQTY AS FPURCHASEQTY,FJOINQTY,
-isnull((select top 1 HLeadTime +  HLeadTime_Sec from Cg_PODemandPlanConfigBillMain a 
-join Cg_PODemandPlanConfigBillSub b on a.HInterID =b.HInterID
-left join Xt_ORGANIZATIONS o on a.HOrgID=o.HItemID
-left join Gy_Supplier s on b.HSupplierID=s.HItemID
- where o.HNumber = t5.FNUMBER and s.HNumber = t3.FNUMBER), 0)FFIXLEADTIME
-from AIS20230129011339..t_PUR_POOrder t1 
-join AIS20230129011339..t_PUR_POOrderEntry t2 on t1.FID = t2.FID
-join AIS20230129011339..t_BD_Supplier t3 on t1.FSUPPLIERID = t3.FSUPPLIERID
-join  AIS20230129011339..T_PUR_POORDERENTRY_R t4 on t2.FENTRYID = t4.FENTRYID
-join  AIS20230129011339..T_PUR_POORDERENTRY_D tD on t2.FENTRYID = tD.FENTRYID
-join AIS20230129011339..T_ORG_Organizations t5 on t1.FPurchaseOrgId = t5.FORGID
-join AIS20230129011339..T_SEC_user t8 on t1.FCREATORID = t8.FuserId
-join AIS20230129011339..T_BD_DEPARTMENT T7 ON t1.FPURCHASEDEPTID = T7.FDEPTID
-where t4.FREMAINRECEIVEQTY-t2.FPODemandPlanCount>0
-and FCloseStatus in('A') and FMRPCLOSESTATUS in('A')
-and t1.FBillTypeID in('83d822ca3e374b4ab01e5dd46a0062bd','6d01d059713d42a28bb976c90a121142')
-and FPurchaseOrgId = '{0}'
-", fPrdOrgId);
+select * from h_v_jit_POOrderList where FQTY>0 and FCloseStatus in('A') 
+and FMRPCLOSESTATUS in('A') and FBillTypeID in('83d822ca3e374b4ab01e5dd46a0062bd','6d01d059713d42a28bb976c90a121142') and FStockOrgId = '{0}'", fPrdOrgId);
 
-                ds = oCN.RunProcReturn(sql, "PurchaseInventoryList");
+                ds = oCN.RunProcReturn(sql, "h_v_jit_POOrderList");
 
-                if (ds.Tables[0].Rows.Count == 0) {
+                if (ds.Tables[0].Rows.Count == 0)
+                {
                     oCN.RollBack();//鍥炴粴浜嬪姟
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -1833,29 +2308,29 @@
                 foreach (var item in PODemandPlanList)
                 {
                     tlmmm++;
-                  
+
                     DateTime date = item.FHMASTERDATE;
                     long HSettleCurrId = 1;//璐у竵 榛樿鏈湴浜烘皯甯�
 
-                    var dataSup= oCN.RunProcReturn(@"select * from Gy_Supplier p
-                    inner join  AIS20230129011339..t_BD_Supplier fp on p.HNumber=fp.FNUMBER and p.HUSEORGID=fp.FUSEORGID
-                    where FNUMBER='" + item.PurchseFNUMBER + "' and HUSEORGID ='"+ fPrdOrgId + "'", "Gy_Supplier");
+                    var dataSup = oCN.RunProcReturn(@"select * from Gy_Supplier p
+                    inner join  " + sqlName + @"..t_BD_Supplier fp on p.HNumber=fp.FNUMBER and p.HUSEORGID=fp.FUSEORGID
+                    where FNUMBER='" + item.PurchseFNUMBER + "' and HUSEORGID ='" + fPrdOrgId + "'", "Gy_Supplier");
                     long HSupplierID = dataSup.Tables[0].Rows.Count == 0 ? 0 : long.Parse(dataSup.Tables[0].Rows[0]["HItemID"].ToString()); //渚涘簲鍟�
 
                     var dataUser = oCN.RunProcReturn("select Czymc from gy_czygl where Czybm = '" + user + "'", "gy_czygl");
                     string HMaker = dataUser.Tables[0].Rows.Count == 0 ? "" : dataUser.Tables[0].Rows[0][0].ToString();//鍒跺崟浜�
                     string HUpDater = dataUser.Tables[0].Rows.Count == 0 ? "" : dataUser.Tables[0].Rows[0][0].ToString();//淇敼浜�
 
-                    var dataOrg= oCN.RunProcReturn(@"select HItemID from Xt_ORGANIZATIONS o
-                    inner join  AIS20230129011339..T_ORG_ORGANIZATIONS fo on o.HNumber=fo.FNUMBER
+                    var dataOrg = oCN.RunProcReturn(@"select HItemID from Xt_ORGANIZATIONS o
+                    inner join  " + sqlName + @"..T_ORG_ORGANIZATIONS fo on o.HNumber=fo.FNUMBER
                     where FNUMBER='" + PODemandPlanTemp[0].FORGNumber + "'  and HItemID ='" + fPrdOrgId + "'", "Xt_ORGANIZATIONS");
                     long HPURCHASEORGID = dataOrg.Tables[0].Rows.Count == 0 ? 0 : long.Parse(dataOrg.Tables[0].Rows[0]["HItemID"].ToString()); //閲囪喘缁勭粐
 
                     string PurchseFNUMBER = item.PurchseFNUMBER;
-                    string FWorkshopNumber = item.FWORKSHOPNUMBER; 
+                    string FWorkshopNumber = item.FWORKSHOPNUMBER;
                     string FCreatorID = item.FCREATORID;
 
-                    var HInterID= DBUtility.ClsPub.CreateBillID("4608", ref DBUtility.ClsPub.sExeReturnInfo);
+                    var HInterID = DBUtility.ClsPub.CreateBillID("4608", ref DBUtility.ClsPub.sExeReturnInfo);
                     var HBillNo = DBUtility.ClsPub.CreateBillCode("4608", ref DBUtility.ClsPub.sExeReturnInfo, true);
                     //涓昏〃
                     oCN.RunProc("insert into JIT_Cg_PODemandPlanBillMain(HInterID,HBillNo,HYear,HPeriod,HBillType" +
@@ -1867,7 +2342,6 @@
                                $"{HPURCHASEORGID},'',{HPURCHASEORGID}, {HSupplierID}, {HSettleCurrId}" +
                                $",'','','{HUpDater}',getdate())");
 
-                    JArray Fentity = new JArray();
                     List<PODemandPlanTemp> _PODemandPlanList = PODemandPlanTemp.Where(x => x.FHMASTERDATE == date && x.PurchseFNUMBER == PurchseFNUMBER && x.FWORKSHOPNUMBER == FWorkshopNumber && x.FCREATORID == FCreatorID).ToList();
                     int i = 0;
                     foreach (var _item in _PODemandPlanList)
@@ -1875,7 +2349,7 @@
                         i++;
 
                         var dataSet = oCN.RunProcReturn(@"select m.* from Gy_Material m
-                        inner join  AIS20230129011339..T_BD_MATERIAL fm on m.HNumber = fm.FNUMBER and m.HUSEORGID=fm.FUSEORGID
+                        inner join  " + sqlName + @"..T_BD_MATERIAL fm on m.HNumber = fm.FNUMBER and m.HUSEORGID=fm.FUSEORGID
                         where FNUMBER='" + _item.FNumber + "'  and HUSEORGID ='" + fPrdOrgId + "'", "Gy_Material");
                         string HMaterID = "0"; //鐗╂枡
                         string HMaterModel = ""; //鐗╂枡浠g爜
@@ -1897,7 +2371,7 @@
                         double HFixleadTime = _item.FFIXLEADTIME; // 鎻愬墠鏈�
 
                         dataOrg = oCN.RunProcReturn(@"select HItemID from Xt_ORGANIZATIONS o
-                    inner join  AIS20230129011339..T_ORG_ORGANIZATIONS fo on o.HNumber=fo.FNUMBER
+                    inner join  " + sqlName + @"..T_ORG_ORGANIZATIONS fo on o.HNumber=fo.FNUMBER
                     where FNUMBER='" + _item.FORGNumber + "'  and HItemID ='" + fPrdOrgId + "'", "Xt_ORGANIZATIONS");
                         long HPURCHASEORGIDSub = dataOrg.Tables[0].Rows.Count == 0 ? 0 : long.Parse(dataOrg.Tables[0].Rows[0]["HItemID"].ToString()); // 閲囪喘缁勭粐
                         long HPOOrderInterID = _item.PurchseFID; // 閲囪喘璁㈠崟鍐呯爜
@@ -1913,13 +2387,13 @@
                         string HPOOrderBillNote = _item.FNOTE; // 閲囪喘璁㈠崟琛ㄤ綋澶囨敞  
                         string HDayPlanBillNo = _item.FDAYPLANBILLNO; // 鏃ヨ鍒掑伐鍗曞彿  
 
-                         dataSet = oCN.RunProcReturn(@"select HItemID from Gy_Department d
-                        inner join  AIS20230129011339..T_BD_DEPARTMENT fd on d.HNumber = fd.FNUMBER
+                        dataSet = oCN.RunProcReturn(@"select HItemID from Gy_Department d
+                        inner join  " + sqlName + @"..T_BD_DEPARTMENT fd on d.HNumber = fd.FNUMBER
                         where FNUMBER='" + _item.FWORKSHOPNUMBER + "'  and HUSEORGID ='" + fPrdOrgId + "'", "Gy_Department");
                         string HWorkShopID = dataSet.Tables[0].Rows.Count == 0 ? "0" : dataSet.Tables[0].Rows[0][0].ToString(); // 鐢熶骇杞﹂棿  
 
                         dataSet = oCN.RunProcReturn(@"select HItemID from Gy_Department d
-                        inner join  AIS20230129011339..T_BD_DEPARTMENT fd on d.HNumber = fd.FNUMBER
+                        inner join  " + sqlName + @"..T_BD_DEPARTMENT fd on d.HNumber = fd.FNUMBER
                         where FNUMBER='" + _item.FPURCHASEDEPTNUMBER + "'  and HUSEORGID ='" + fPrdOrgId + "'", "Gy_Department");
                         string HPurchaseDeptID = dataSet.Tables[0].Rows.Count == 0 ? "0" : dataSet.Tables[0].Rows[0][0].ToString(); // 閲囪喘閮ㄩ棬  
 
@@ -1965,7 +2439,6 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-              
             }
             catch (Exception e)
             {
diff --git "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormImportController.cs" "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormImportController.cs"
index 0a7ac31..328fade 100644
--- "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormImportController.cs"
+++ "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormImportController.cs"
@@ -55,11 +55,13 @@
                 tb2.Columns.Add("鍗曟嵁鍙�", typeof(string));
                 tb2.Columns.Add("HWorkShopID", typeof(Int32));//鐢熶骇杞﹂棿
                 tb2.Columns.Add("HEmpID", typeof(Int32));//鑱屽憳
+                tb2.Columns.Add("鍛樺伐", typeof(string));//鑱屽憳
                 tb2.Columns.Add("HUnitID", typeof(Int32));//璁¢噺鍗曚綅
                 tb2.Columns.Add("HSourceID", typeof(Int32));//鐢熶骇璧勬簮id
                 tb2.Columns.Add("ICMOBillHInterID", typeof(Int32));//鐢熶骇璁㈠崟涓籭d
                 tb2.Columns.Add("ICMOBillHEntryID", typeof(Int32));//鐢熶骇璁㈠崟瀛恑d
                 tb2.Columns.Add("HProdORGID", typeof(Int32));//缁勭粐id
+                tb2.Columns.Add("HSeOrderBillNo", typeof(string));//閿�鍞鍗曞彿
 
                 //娣诲姞鏁版嵁
                 for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
@@ -127,6 +129,7 @@
                         tb2.Rows[i]["ICMOBillHInterID"] = ds.Tables[0].Rows[0]["hmainid"].ToString();//鐢熶骇璁㈠崟涓籭d
                         tb2.Rows[i]["ICMOBillHEntryID"] = ds.Tables[0].Rows[0]["HEntryID"].ToString();//鐢熶骇璁㈠崟瀛恑d
                         tb2.Rows[i]["鐢熶骇璁㈠崟鏁伴噺"] = ds.Tables[0].Rows[0]["鐢熶骇浠诲姟鍗曟暟閲�"].ToString();//鐢熶骇璁㈠崟鏁伴噺
+                        tb2.Rows[i]["HSeOrderBillNo"] = ds.Tables[0].Rows[0]["閿�鍞鍗曞彿"].ToString();//閿�鍞鍗曞彿
                     }
 
                     ds = oCN.RunProcReturn("select * from h_v_JIT_Sc_WorkBillSortBillList " +
@@ -144,6 +147,7 @@
                         tb2.Rows[i]["HSourceID"] = ds.Tables[0].Rows[0]["HSourceID"].ToString();
                         tb2.Rows[i]["HEmpID"] = ds.Tables[0].Rows[0]["HEmpID"].ToString();
                         tb2.Rows[i]["鍛樺伐缂栫爜"] = ds.Tables[0].Rows[0]["鑱屽憳浠g爜"].ToString();
+                        tb2.Rows[i]["鍛樺伐"] = ds.Tables[0].Rows[0]["鑱屽憳"].ToString();
                         tb2.Rows[i]["HUnitID"] = ds.Tables[0].Rows[0]["HUnitID"].ToString();
                         tb2.Rows[i]["璁¢噺鍗曚綅"] = ds.Tables[0].Rows[0]["璁¢噺鍗曚綅"].ToString();
                         tb2.Rows[i]["鎵规鍙�"] = ds.Tables[0].Rows[0]["鎵规"].ToString();
@@ -155,7 +159,8 @@
                         //鍛樺伐
                         ds = oCN.RunProcReturn($"select * from Gy_Employee  where HNumber='{tb2.Rows[i]["鍛樺伐缂栫爜"].ToString()}'", "Gy_Employee");
                         if (ds.Tables[0].Rows.Count > 0) {
-                            tb2.Rows[i]["鍛樺伐缂栫爜"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                            tb2.Rows[i]["HEmpID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                            tb2.Rows[i]["鍛樺伐"] = ds.Tables[0].Rows[0]["HName"].ToString();
                         }
                         else
                         {
@@ -290,10 +295,11 @@
                 }
 
               
-                int TrueCount = 0, SumCount = 0;
+                
 
                 for (int i = 0; i < list.Count; i++)
                 {
+                    int TrueCount = 0, SumCount = 0;
                     long HInterID = 0;
                     var HBillNo = "";
                     if (list[i]["鍗曟嵁鍙�"].ToString() == "" && list[i]["hmainid"].ToString() == "")
@@ -319,9 +325,12 @@
                         var HDate = omdelMian.HDate;
                         var HMainSourceInterID = list[i]["ICMOBillHInterID"].ToString();
                         var HMainSourceEntryID = list[i]["ICMOBillHEntryID"].ToString();
+                        var HSeOrderBillNo = list[i]["HSeOrderBillNo"].ToString();
 
-                        ds = oCN.RunProcReturn($"select * from  Sc_WorkBillSortBillMain where HMainSourceInterID={HMainSourceInterID}" +
-                          $" and HMainSourceEntryID={HMainSourceEntryID} and HICMOBillNo='{HICMOBillNo}' and HICMOEntrySEQ={HICMOEntrySEQ} and HSourceID={HSourceID}", "Sc_WorkBillSortBillMain");
+                        string sql = $"select * from  Sc_WorkBillSortBillMain where HMainSourceInterID={HMainSourceInterID}" +
+                          $" and HMainSourceEntryID={HMainSourceEntryID} and HICMOBillNo='{HICMOBillNo}' and HICMOEntrySEQ={HICMOEntrySEQ} and HSourceID={HSourceID}";
+                        LogService.Write("sql:" + sql);
+                        ds = oCN.RunProcReturn(sql, "Sc_WorkBillSortBillMain");
                         if (ds.Tables[0].Rows.Count > 0)
                         {
                             objJsonResult.code = "0";
@@ -337,19 +346,23 @@
                             "HICMOEntrySEQ,HWorkShopID,HSourceID, HYX, HEmpID," +
                             " HMaterID, HMaterName, HMaterModel, HUnitID, HBatchNo," +
                             " HSeOrderBillQty, HPlanQty, HCompleteQty,HPreparatDate," +
-                            "HMainSourceInterID,HMainSourceEntryID,HProdORGID,HICMOInterID_Sec,HICMOEntryID_Sec)values" +
+                            "HMainSourceInterID,HMainSourceEntryID,HProdORGID,HICMOInterID_Sec,HICMOEntryID_Sec" +
+                            ",HSeOrderBillNo)values" +
                             $"({HInterID},'{HBillNo}',{DateTime.Now.Year},{DateTime.Now.Month},'{BillType}'," +
                             $"'{BillType}',GETDATE(),1,'{user}','{HDate}','{HICMOBillNo}','{HOrderType}'," +
                             $"{(HICMOEntrySEQ == "" ? 0.ToString() : HICMOEntrySEQ)},{(HWorkShopID == "" ? 0.ToString() : HWorkShopID)},{(HSourceID == "" ? 0.ToString() : HSourceID)}, {(HYX == "" ? 0.ToString() : HYX)}, {(HEmpID == "" ? 0.ToString() : HEmpID)}," +
                             $" {(HMaterID == "" ? 0.ToString() : HMaterID)}, '{HMaterName}', '{HMaterModel}', {(HUnitID == "" ? 0.ToString() : HUnitID)}, '{HBatchNo}'," +
                             $" {(HSeOrderBillQty == "" ? 0.ToString() : HSeOrderBillQty)}, {(HPlanQty == "" ? 0.ToString() : HPlanQty)}, {(HCompleteQty == "" ? 0.ToString() : HCompleteQty)},getdate()," +
-                            $" {HMainSourceInterID},{HMainSourceEntryID},{HProdORGID}, {HMainSourceInterID},{HMainSourceEntryID})");
+                            $" {HMainSourceInterID},{HMainSourceEntryID},{HProdORGID}, {HMainSourceInterID},{HMainSourceEntryID}" +
+                            $",'{HSeOrderBillNo}')");
                     }
 
                     int SumDay = 31; //鍔ㄦ�佷袱鏈堜箣宸� DateTime.Now.AddMonths(1).AddDays(-1).Subtract(DateTime.Now).Days;
 
                     for (int j = 0; j < SumDay; j++)
                     {
+                        LogService.Write("1:" + list[i][DateTime.Now.AddDays(j).ToString("yyyy-MM-dd")].ToString());
+                        LogService.Write("2:" + DateTime.Now.AddDays(j).ToString("yyyy-MM-dd"));
                         //涓昏〃瀛愯〃閮芥湁鏁版嵁
                         if (list[i][DateTime.Now.AddDays(j).ToString("yyyy-MM-dd")].ToString() != "")
                         {
@@ -371,16 +384,17 @@
                             objJsonResult = AddBillSub(HInterID.ToString(), HBillNo, DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd").ToString()), 0);
                         }
                     }
+                    if (TrueCount != SumCount)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = objJsonResult.Message;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
                 }
 
-                if (TrueCount != SumCount)
-                {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = objJsonResult.Message;
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
+               
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
@@ -402,7 +416,6 @@
         {
             //鑾峰彇琛ㄦ牸鏁版嵁
             ds = oCN.RunProcReturn($"select * from  h_v_JIT_Sc_WorkBillSortBillList where 鍗曟嵁鍙�='{HBillNo}'", "h_v_JIT_Sc_WorkBillSortBillList");
-
             int count = 0;
             if (ds.Tables[0].Rows.Count > 0)
             {
diff --git a/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs b/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
index 63e2e3d..9b7a539 100644
--- a/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
+++ b/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
@@ -20,6 +20,7 @@
         public DataSet ds = new DataSet();
         public WebServer webserver = new WebServer();
         public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
 
         public DAL.ClsSc_MouldScrapInBill BillNew0 = new DAL.ClsSc_MouldScrapInBill();   //妯″叿鎶ュ簾鍏ュ簱瀵瑰簲鍗曟嵁绫�
@@ -1120,6 +1121,235 @@
         }
         #endregion
 
+        #region 鍏跺畠鍑哄簱鍗曞鏍�/鍙嶅鏍稿姛鑳�
+        [Route("Kf_OtherOutBill/CheckKf_OtherOutBill")]
+        [HttpGet]
+        public object CheckKf_OtherOutBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Kf_OtherOutBill_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;
+                BillOld.MvarItemKey = "Kf_ICStockBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                        //DataSet DSet = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_AbandonCheckCtrl " + int.Parse(HInterID), "h_p_Sc_ICMOBill_AbandonCheckCtrl");
+                        ////if (DBUtility.ClsPub.isInt(DSet.Tables[0].Rows[0]["Hback"]) != 0)
+                        ////{
+                        ////    objJsonResult.code = "0";
+                        ////    objJsonResult.count = 1;
+                        ////    objJsonResult.Message = "璇ヤ换鍔″崟宸蹭笅鎺ㄦ祦杞崱锛屼笉鍏佽鍙嶅鏍�" + DBUtility.ClsPub.isStrNull(DSet.Tables[0].Rows[0]["HBackRemark"]);
+                        ////    objJsonResult.data = null;
+                        ////    return objJsonResult;
+                        ////}
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍏跺畠鍑哄簱鍗曞叧闂�/鍙嶅叧闂姛鑳�
+        [Route("Kf_OtherOutBill/CloseKf_OtherOutBill")]
+        [HttpGet]
+        public object CloseKf_OtherOutBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Kf_OtherOutBill_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;
+                BillOld.MvarItemKey = "Kf_ICStockBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+
+
+
         /// <summary>
         /// 濮斿鍑哄簱鍗曞垪琛�
         /// </summary>
@@ -1328,7 +1558,458 @@
                 return objJsonResult;
             }
         }
-      
+
+        #region 鐢熶骇鍏ュ簱鍗曞鏍�/鍙嶅鏍稿姛鑳�
+        [Route("Kf_ProductInBill/CheckKf_ProductInBill")]
+        [HttpGet]
+        public object CheckKf_ProductInBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Kf_ProductInBill_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;
+                BillOld.MvarItemKey = "Kf_ICStockBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                        //DataSet DSet = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_AbandonCheckCtrl " + int.Parse(HInterID), "h_p_Sc_ICMOBill_AbandonCheckCtrl");
+                        ////if (DBUtility.ClsPub.isInt(DSet.Tables[0].Rows[0]["Hback"]) != 0)
+                        ////{
+                        ////    objJsonResult.code = "0";
+                        ////    objJsonResult.count = 1;
+                        ////    objJsonResult.Message = "璇ヤ换鍔″崟宸蹭笅鎺ㄦ祦杞崱锛屼笉鍏佽鍙嶅鏍�" + DBUtility.ClsPub.isStrNull(DSet.Tables[0].Rows[0]["HBackRemark"]);
+                        ////    objJsonResult.data = null;
+                        ////    return objJsonResult;
+                        ////}
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鐢熶骇鍏ュ簱鍗曞叧闂�/鍙嶅叧闂姛鑳�
+        [Route("Kf_ProductInBill/CloseKf_ProductInBill")]
+        [HttpGet]
+        public object CloseKf_ProductInBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Kf_ProductInBill_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;
+                BillOld.MvarItemKey = "Kf_ICStockBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+        #region 鍏跺畠鍏ュ簱鍗曞鏍�/鍙嶅鏍稿姛鑳�
+        [Route("Kf_OtherInBill/CheckKf_OtherInBill")]
+        [HttpGet]
+        public object CheckKf_OtherInBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Kf_OtherInBill_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;
+                BillOld.MvarItemKey = "Kf_ICStockBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                        //DataSet DSet = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_AbandonCheckCtrl " + int.Parse(HInterID), "h_p_Sc_ICMOBill_AbandonCheckCtrl");
+                        ////if (DBUtility.ClsPub.isInt(DSet.Tables[0].Rows[0]["Hback"]) != 0)
+                        ////{
+                        ////    objJsonResult.code = "0";
+                        ////    objJsonResult.count = 1;
+                        ////    objJsonResult.Message = "璇ヤ换鍔″崟宸蹭笅鎺ㄦ祦杞崱锛屼笉鍏佽鍙嶅鏍�" + DBUtility.ClsPub.isStrNull(DSet.Tables[0].Rows[0]["HBackRemark"]);
+                        ////    objJsonResult.data = null;
+                        ////    return objJsonResult;
+                        ////}
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍏跺畠鍏ュ簱鍗曞叧闂�/鍙嶅叧闂姛鑳�
+        [Route("Kf_OtherInBill/CloseKf_OtherInBill")]
+        [HttpGet]
+        public object CloseKf_OtherInBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Kf_OtherInBill_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;
+                BillOld.MvarItemKey = "Kf_ICStockBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
 
 
         /// <summary>
diff --git a/WebAPI/Controllers/Sc_ProcessMangementController.cs b/WebAPI/Controllers/Sc_ProcessMangementController.cs
index 9460c4a..26f021c 100644
--- a/WebAPI/Controllers/Sc_ProcessMangementController.cs
+++ b/WebAPI/Controllers/Sc_ProcessMangementController.cs
@@ -21,7 +21,7 @@
 
         private json objJsonResult = new json();
         Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
-
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
 
@@ -1075,7 +1075,7 @@
                     FentityModel.Add("FSrcInterId", item["HSourceInterID"].ToString());//  
                     FentityModel.Add("FBasePrdRealQty", item["鏁伴噺"].ToString());//
                     FentityModel.Add("FIsFinished", "false");//
-                    FentityModel.Add("FStockStatusId", new JObject() { ["FNumber"] = "KCZT08_SYS" }); //
+                    FentityModel.Add("FStockStatusId", new JObject() { ["FNumber"] = "KCZT001" }); //
                     FentityModel.Add("FSrcEntrySeq", item["HSourceSeQ"].ToString());//  婧愬崟鍒嗗綍琛屽彿
                     FentityModel.Add("FMOMAINENTRYID", item["HMOEntryID"].ToString());//
                     FentityModel.Add("FKeeperTypeId", "BD_KeeperOrg");
@@ -3001,6 +3001,115 @@
         }
         #endregion
 
+
+        #region 涓嶈壇鍝佸鐞嗗崟鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("Sc_ProcessMangement/CloseSc_ProcessMangement")]
+        [HttpGet]
+        public object CloseSc_ProcessMangement(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("QC_NoPassProdCheckBill_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;
+                BillOld.MvarItemKey = "QC_NoPassProdCheckBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+
         /// <summary>
         /// PDA宸ュ簭姹囨姤鍗曚繚瀛�
         /// </summary>
diff --git a/WebAPI/Controllers/WebAPIController.cs b/WebAPI/Controllers/WebAPIController.cs
index ec0dc9f..dc2c43d 100644
--- a/WebAPI/Controllers/WebAPIController.cs
+++ b/WebAPI/Controllers/WebAPIController.cs
@@ -4023,19 +4023,33 @@
 
 
         #region [浠庢暟鎹簱鍔犺浇鑿滃崟]
+        public class MenuLoad
+        {
+            //public int HitemID { get; set; }
+            public string HitemID { get; set; }
+            //public int? HPartentID { get; set; }
+            public string HPartentID { get; set; }
+            public string HNumber { get; set; }
+            public string HName { get; set; }
+            public int HLevel { get; set; }
+            public string Hurl { get; set; }
+            public string HPicNum { get; set; }
+            public List<MenuLoad> childMenus { get; set; }
+        }
+
         [Route("Web/MenuList")]
         [HttpGet]
-        public object MenuList(string HMakeName)
+        public object MenuList(string HMakeName, string HType)
         {
             try
             {
-                List<Menu> mu = new List<Menu>();                       //浠ョ埗瀛愮骇缁撴瀯瀛樻斁鑿滃崟娓呭崟淇℃伅
+                List<MenuLoad> mu = new List<MenuLoad>();                       //浠ョ埗瀛愮骇缁撴瀯瀛樻斁鑿滃崟娓呭崟淇℃伅
                 SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();            //鏁版嵁搴撴搷浣滃伐鍏�
-                string sql = "select HItemID,HPartentID,HNumber,HName,HLevel,Hurl,HType from Gy_MenuDefineSet where HMakeName = '" + HMakeName + "' order by HItemID";
+                string sql = "select HItemID,HPartentID,HNumber,HName,HLevel,Hurl,HType,HPicNum from Gy_MenuDefineSet where HMakeName = '" + HMakeName + "' and HType = '" + HType + "' order by HPosition";
                 ds = oCn.RunProcReturn(sql, "Gy_MenuDefineSet");        //鏌ヨ褰撳墠鐢ㄦ埛鐨勮嚜瀹氫箟鑿滃崟鏁版嵁
                 if (ds.Tables[0]==null || ds.Tables[0].Rows.Count == 0) //鍒ゆ柇褰撳墠鐢ㄦ埛鏄惁鏈夎缃繃鑷畾涔変俊鎭紝鑻ヨ褰曟暟涓�0锛屽垯娌℃湁璁剧疆杩囷紝鍔犺浇鎵�鏈夌殑鑿滃崟淇℃伅
                 {
-                    sql = "Select * from Gy_Menu_1 Order by HItemID ";
+                    sql = "Select * from Gy_Menu_1 where HType = '" + HType + "' Order by HPosition ";
                     ds = oCn.RunProcReturn(sql, "Gy_Menu");
                 }
 
@@ -4043,17 +4057,21 @@
                 {
                     if (ds.Tables[0].Rows[i]["HPartentID"].ToString() == "0" || ds.Tables[0].Rows[i]["HitemID"].ToString() == ds.Tables[0].Rows[i]["HPartentID"].ToString())  //鍒ゆ柇鏄惁鏈�澶栧眰鏍硅妭鐐�
                     {
-                        Menu tbj = new Menu();
+                        MenuLoad tbj = new MenuLoad();
                         tbj.HitemID = ds.Tables[0].Rows[i]["HitemID"].ToString();
                         tbj.HNumber = ds.Tables[0].Rows[i]["HNumber"].ToString();
                         tbj.HName = ds.Tables[0].Rows[i]["HName"].ToString();
                         tbj.HPartentID = ds.Tables[0].Rows[i]["HPartentID"].ToString();
                         tbj.HLevel = int.Parse(ds.Tables[0].Rows[i]["HLevel"].ToString());
                         tbj.Hurl = ds.Tables[0].Rows[i]["Hurl"].ToString();
+                        if (ds.Tables[0].Rows[i]["HPicNum"] != null)
+                        {
+                            tbj.HPicNum = ds.Tables[0].Rows[i]["HPicNum"].ToString();
+                        }
                         mu.Add(tbj);
                     }
                 }
-                ToHierarchy.digui(ds.Tables[0], mu);                //浣跨敤閫掑綊锛屽皢闇�瑕佸姞杞界殑鏁版嵁浠ョ埗瀛愮骇鐨勭粨鏋勫瓨鏀惧湪mu涓�
+                diguiLoad(ds.Tables[0], mu);                //浣跨敤閫掑綊锛屽皢闇�瑕佸姞杞界殑鏁版嵁浠ョ埗瀛愮骇鐨勭粨鏋勫瓨鏀惧湪mu涓�
 
 
                 objJsonResult.code = "1";
@@ -4071,6 +4089,38 @@
                 return objJsonResult;
             }
         }
+
+        public void diguiLoad(DataTable dt, List<MenuLoad> tree)
+        {
+            for (int m = 0; m < tree.Count; m++)
+            {
+                tree[m].childMenus = new List<MenuLoad>();
+                for (int i = 0; i < dt.Rows.Count; i++)//绗竴娆″惊鐜紝寰楀埌鎵�鏈夋牴鑺傜偣鐨勫瓙闆�
+                {
+                    if (tree[m].HitemID.ToString() == dt.Rows[i]["HPartentID"].ToString() && dt.Rows[i]["HitemID"].ToString() != dt.Rows[i]["HPartentID"].ToString())
+                    {
+                        MenuLoad tbjson = new MenuLoad();
+                        tbjson.HitemID = dt.Rows[i]["HitemID"].ToString();
+                        tbjson.HPartentID = dt.Rows[i]["HPartentID"].ToString();
+                        tbjson.HNumber = dt.Rows[i]["HNumber"].ToString();
+                        tbjson.HName = dt.Rows[i]["HName"].ToString();
+                        tbjson.HLevel = tree[m].HLevel;
+                        tbjson.Hurl = dt.Rows[i]["Hurl"].ToString();
+                        if (dt.Rows[i]["HPicNum"] != null)
+                        {
+                            tbjson.HPicNum = dt.Rows[i]["HPicNum"].ToString();
+                        }
+                        tree[m].childMenus.Add(tbjson);
+                    }
+                }
+                for (int i = 0; i < tree[m].childMenus.Count; i++)
+                {
+                    diguiLoad(dt, tree[m].childMenus);//鍐嶆鐢ㄥ瓙闆嗗幓寰幆锛屾嬁鍑哄瓙闆嗙殑瀛愰泦
+                }
+            }
+
+        }
+
         #endregion
 
 
@@ -4114,7 +4164,7 @@
         //鑷畾涔夎彍鍗曪細鑾峰彇鏍戠粍浠舵暟鎹�
         [Route("Web/MenuDefineSet")]
         [HttpGet]
-        public object MenuDefineSet(string HMakeName)
+        public object MenuDefineSet(string HMakeName, string HType)
         {
             try
             {
@@ -4122,7 +4172,7 @@
                 List<MenuInit> menuInitList = new List<MenuInit>();                     //鐢ㄤ互鑾峰彇Gy_Menu_1涓殑鎵�鏈夎彍鍗曚俊鎭紝浠ュ強瀵瑰簲鑺傜偣鏄惁琚�変腑闇�瑕佸姞杞芥樉绀�
 
                 SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
-                ds = oCn.RunProcReturn("Select * from Gy_Menu_1 Order by HItemID ", "Gy_Menu");     //鑾峰彇Gy_Menu_1涓殑鎵�鏈夎彍鍗曚俊鎭紝鐢ㄤ簬涓簃enuInitList鍒楄〃鍏呭疄鏁版嵁
+                ds = oCn.RunProcReturn("Select * from Gy_Menu_1 where HType = '" +HType + "' Order by HItemID ", "Gy_Menu");     //鑾峰彇Gy_Menu_1涓殑鎵�鏈夎彍鍗曚俊鎭紝鐢ㄤ簬涓簃enuInitList鍒楄〃鍏呭疄鏁版嵁
 
                 DataSet ds1 = new DataSet();
                 for (int i = 0; i < ds.Tables[0].Rows.Count; i++)                                   //灏咷y_Menu_1涓殑鑿滃崟淇℃伅鍙婇�変腑鎯呭喌淇濆瓨鍒癿enuInitList鍒楄〃涓紝
@@ -4211,6 +4261,7 @@
                 string[] sArray = msg.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                 string HMakeName = sArray[1].ToString();
                 string saveData = sArray[0].ToString();
+                string HTypes = sArray[2].ToString();
                 List<SaveDefineMenu> saveDataList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SaveDefineMenu>>(saveData);
 
                 //澹版槑鏁版嵁搴撴搷浣滃伐鍏�
@@ -4220,7 +4271,7 @@
                 oCN.BeginTran();
                 
                 //鍒犻櫎褰撳墠鐢ㄦ埛鐨勮嚜瀹氫箟鏁版嵁
-                string sql = "delete from Gy_MenuDefineSet where HMakeName = '" + HMakeName + "'";
+                string sql = "delete from Gy_MenuDefineSet where HMakeName = '" + HMakeName + "' and HType = '" + HTypes + "'";
                 oCN.RunProc(sql);
 
                 //鎻掑叆褰撳墠鐢ㄦ埛鏈�鏂扮殑鑷畾涔夋暟鎹�
@@ -4235,9 +4286,20 @@
                         int HLevel = int.Parse(ds.Tables[0].Rows[0]["HLevel"].ToString());
                         string Hurl = ds.Tables[0].Rows[0]["Hurl"].ToString();
                         string HType = ds.Tables[0].Rows[0]["HType"].ToString();
+                        string HPicNum = ds.Tables[0].Rows[0]["HPicNum"].ToString();
 
-                        sql = "insert into Gy_MenuDefineSet values('" + saveDataList[i].HItemID + "','" + HPartentID + "','" + HNumber + "','" + saveDataList[i].HName + "'," + HLevel + ",'" + Hurl + "','" + HType + "','" + HMakeName + "')";
-                        oCN.RunProc(sql);
+                        if(HPartentID == "0" || HPartentID == ds.Tables[0].Rows[0]["HItemID"].ToString())
+                        {
+                            string HPosition = ds.Tables[0].Rows[0]["HPosition"].ToString();
+                            sql = "insert into Gy_MenuDefineSet(HItemID,HPartentID,HNumber,HName,HLevel,Hurl,HType,HMakeName,HPicNum,HPosition) values('" + saveDataList[i].HItemID + "','" + HPartentID + "','" + HNumber + "','" + saveDataList[i].HName + "'," + HLevel + ",'" + Hurl + "','" + HType + "','" + HMakeName + "','" + HPicNum + "','" + HPosition + "')";
+                            oCN.RunProc(sql);
+                        }
+                        else
+                        {
+                            sql = "insert into Gy_MenuDefineSet(HItemID,HPartentID,HNumber,HName,HLevel,Hurl,HType,HMakeName,HPicNum,HPosition) values('" + saveDataList[i].HItemID + "','" + HPartentID + "','" + HNumber + "','" + saveDataList[i].HName + "'," + HLevel + ",'" + Hurl + "','" + HType + "','" + HMakeName + "','" + HPicNum + "','z')";
+                            oCN.RunProc(sql);
+                        }
+                        
                     }
                 }
                 //鎻愪氦鏁版嵁搴撴搷浣�
@@ -4273,7 +4335,7 @@
         //蹇嵎鏂瑰紡鑷畾涔夎彍鍗曪細鑾峰彇鏍戠粍浠舵暟鎹�
         [Route("Web/Xt_UserFastMenu_Display")]
         [HttpGet]
-        public object Xt_UserFastMenu_Display(string HMakeName)
+        public object Xt_UserFastMenu_Display(string HMakeName, string HType)
         {
             try
             {
@@ -4281,7 +4343,7 @@
                 List<MenuInit> menuInitList = new List<MenuInit>();                     //鐢ㄤ互鑾峰彇Gy_Menu_1涓殑鎵�鏈夎彍鍗曚俊鎭紝浠ュ強瀵瑰簲鑺傜偣鏄惁琚�変腑闇�瑕佸姞杞芥樉绀�
 
                 SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
-                ds = oCn.RunProcReturn("Select * from Gy_Menu_1 Order by HItemID ", "Gy_Menu");     //鑾峰彇Gy_Menu_1涓殑鎵�鏈夎彍鍗曚俊鎭紝鐢ㄤ簬涓簃enuInitList鍒楄〃鍏呭疄鏁版嵁
+                ds = oCn.RunProcReturn("Select * from Gy_Menu_1 where HType = '" + HType + "' Order by HItemID ", "Gy_Menu");     //鑾峰彇Gy_Menu_1涓殑鎵�鏈夎彍鍗曚俊鎭紝鐢ㄤ簬涓簃enuInitList鍒楄〃鍏呭疄鏁版嵁
 
                 DataSet ds1 = new DataSet();
                 for (int i = 0; i < ds.Tables[0].Rows.Count; i++)                                   //灏咷y_Menu_1涓殑鑿滃崟淇℃伅鍙婇�変腑鎯呭喌淇濆瓨鍒癿enuInitList鍒楄〃涓紝
@@ -4365,6 +4427,7 @@
                 string[] sArray = msg.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                 string HMakeName = sArray[1].ToString();
                 string saveData = sArray[0].ToString();
+                string HTypes = sArray[2].ToString();
                 List<SaveDefineMenu> saveDataList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SaveDefineMenu>>(saveData);
 
                 //澹版槑鏁版嵁搴撴搷浣滃伐鍏�
@@ -4374,7 +4437,7 @@
                 oCN.BeginTran();
 
                 //鍒犻櫎褰撳墠鐢ㄦ埛鐨勮嚜瀹氫箟鏁版嵁
-                string sql = "delete from Xt_UserFastMenu where HUserID = '" + HMakeName + "'";
+                string sql = "delete from Xt_UserFastMenu where HUserID = '" + HMakeName + "' and HType = '" + HTypes + "'";
                 oCN.RunProc(sql);
 
                 //鎻掑叆褰撳墠鐢ㄦ埛鏈�鏂扮殑鑷畾涔夋暟鎹�
@@ -4391,8 +4454,9 @@
                             string HUserID = HMakeName;
                             string HSubFuncID = ds.Tables[0].Rows[0]["HItemID"].ToString();
                             string HCaption = ds.Tables[0].Rows[0]["HName"].ToString();
+                            string HType = ds.Tables[0].Rows[0]["HType"].ToString();
 
-                            sql = "insert into Xt_UserFastMenu(HUserID,HSubFuncID,HCaption) values('" + HUserID + "','" + HSubFuncID + "','" + HCaption + "')";
+                            sql = "insert into Xt_UserFastMenu(HUserID,HSubFuncID,HCaption,HType) values('" + HUserID + "','" + HSubFuncID + "','" + HCaption + "','" + HType + "')";
                             oCN.RunProc(sql);
                         }
                     }
@@ -4422,12 +4486,68 @@
         //蹇嵎鏂瑰紡鑷畾涔夎彍鍗曪細鑾峰彇鏍戠粍浠舵暟鎹�
         [Route("Web/Xt_UserFastMenu_Init")]
         [HttpGet]
-        public object Xt_UserFastMenu_Init(string HMakeName)
+        public object Xt_UserFastMenu_Init(string HMakeName, string HType)
         {
             try
             {
                 SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
-                string sql = "select a.HSubFuncID, a.HCaption,a.HPicNum,b.Hurl from Xt_UserFastMenu as a join Gy_Menu_1 as b on a.HSubFuncID = b.HItemID  where a.HUserID = '" + HMakeName + "' Order by a.HItemID";
+                string sql = "select a.HSubFuncID, a.HCaption,a.HPicNum,b.Hurl from Xt_UserFastMenu as a join Gy_Menu_1 as b on a.HSubFuncID = b.HItemID  where a.HUserID = '" + HMakeName + "' and b.HType = '" + HType + "' Order by a.HItemID";
+                ds = oCn.RunProcReturn(sql, "Xt_UserFastMenu");     //鑾峰彇Xt_UserFastMenu涓鐢ㄦ埛璁剧疆鐨勮嚜瀹氫箟鑿滃崟淇℃伅锛岀敤浜庡湪鍓嶇鍔犺浇
+
+                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 = "鏌ヨ澶辫触锛�";
+                objJsonResult.data = e.ToString();
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 淇濆瓨蹇嵎鏂瑰紡鐨勫浘鏍�
+        [Route("Web/Xt_UserFastMenu_IconSave")]
+        [HttpGet]
+        public object Xt_UserFastMenu_IconSave(string Icon, string HItemID, string HMakeName)
+        {
+            try
+            {
+                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                string sql = "update Xt_UserFastMenu set HPicNum = '" + Icon + "' where HSubFuncID='" + HItemID + "' and HUserID = '" + HMakeName + "'";
+                oCN.RunProc(sql);     //鑾峰彇Xt_UserFastMenu涓鐢ㄦ埛璁剧疆鐨勮嚜瀹氫箟鑿滃崟淇℃伅锛岀敤浜庡湪鍓嶇鍔犺浇
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鏌ヨ鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏌ヨ澶辫触锛�";
+                objJsonResult.data = e.ToString();
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鑾峰彇蹇嵎鏂瑰紡鐨勫浘鏍�
+        [Route("Web/Xt_UserFastMenu_IconGet")]
+        [HttpGet]
+        public object Xt_UserFastMenu_IconGet(string HItemID, string HMakeName)
+        {
+            try
+            {
+                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                string sql = "select HPicNum from Xt_UserFastMenu where HSubFuncID='" + HItemID + "' and HUserID = '" + HMakeName + "'";
                 ds = oCn.RunProcReturn(sql, "Xt_UserFastMenu");     //鑾峰彇Xt_UserFastMenu涓鐢ㄦ埛璁剧疆鐨勮嚜瀹氫箟鑿滃崟淇℃伅锛岀敤浜庡湪鍓嶇鍔犺浇
 
                 objJsonResult.code = "1";
diff --git "a/WebAPI/Controllers/\344\272\272\344\272\213\347\256\241\347\220\206/\345\205\245\350\201\214\347\224\263\350\257\267/HR_EmpEngageRequestBillController.cs" "b/WebAPI/Controllers/\344\272\272\344\272\213\347\256\241\347\220\206/\345\205\245\350\201\214\347\224\263\350\257\267/HR_EmpEngageRequestBillController.cs"
new file mode 100644
index 0000000..3834d93
--- /dev/null
+++ "b/WebAPI/Controllers/\344\272\272\344\272\213\347\256\241\347\220\206/\345\205\245\350\201\214\347\224\263\350\257\267/HR_EmpEngageRequestBillController.cs"
@@ -0,0 +1,896 @@
+锘縰sing DBUtility;
+using Model;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.Http;
+using System.Windows.Forms;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers.椤圭洰绠$悊.宸ヤ綔浠诲姟
+{
+    public class HR_EmpEngageRequestBillController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
+        string user_LongShan = "";
+        string HName_LongShan = "";
+
+        #region 鍏ヨ亴鐢宠鍗� 鏂板/缂栬緫
+        #region 鍏ヨ亴鐢宠鍗� 琛ㄥご鏁版嵁
+        public class HR_EmpEngageRequestBillMain
+        {
+            public int HInterID;
+            public string HBillNo;
+            public string HDate;
+            public string HName;
+            public string HSex;
+            public string HMarr;
+            public string HBirthday;
+            public int HAge;
+            public string HBlighty;
+            public string HNation;
+            public string HBlightyType;
+            public string HGovStatus;
+            public string HBloodType;
+            public string HStature;
+            public string HAvoird;
+            public string HKnowLev;
+            public string HProTitleID;
+            public double HWantPay;
+            public string HGradSchool;
+            public string HGradDate;
+            public string HSpec;
+            public string HEngLev;
+            public string HCompLev;
+            public string HLinkPhone;
+            public string HEmail;
+            public string HNowAdd;
+            public string HHomeAdd;
+            public string HIDCard;
+            public string HPostalCode;
+            public string HOldCompany;
+            public bool HInsuranceStatus;
+            public string HInsuranceDate;
+            public string HInsuranceNo;
+            public string HContractBDate;
+            public int HContractYear;
+            public string HContractEDate;
+            public string HJobCardEDate;
+            public string HJobCardNo;
+            public string HCheckCardEDate;
+            public string HStayCardEDate;
+            public string HHealthCardEDate;
+            public string HArchivesNo;
+
+            public string HMaker;
+            public string HMakerDate;
+            public string HUpdater;
+            public string HUpdaterDate;
+            public string HChecker;
+            public string HCheckerDate;
+            public string HCloseMan;
+            public string HCloseManDate;
+            public string HDeleteMan;
+            public string HDeleteManDate;
+            public string HBacker;
+            public string HBackerDate;
+            public string HBackRemark;
+        }
+        #endregion
+
+        #region 鍏ヨ亴鐢宠鍗� 鏂板/缂栬緫
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("HR_EmpEngageRequestBill/AddEmpEngageRequestBill")]
+        [HttpPost]
+        public object AddEmpEngageRequestBill([FromBody] JObject sMainSub)
+        {
+            //鑾峰彇鍙傛暟
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            //寮�濮嬩簨鍔�
+            oCN.BeginTran();
+            //淇濆瓨涓昏〃
+            objJsonResult = AddEmpEngageRequestBillMain(msg1);
+            if (objJsonResult.code == "0")
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = objJsonResult.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            oCN.Commit();
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�";
+            objJsonResult.data = ds.Tables[0];
+            return objJsonResult;
+        }
+        #endregion
+        #region 娣诲姞 鍏ヨ亴鐢宠鍗� 涓昏〃
+        public json AddEmpEngageRequestBillMain(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            int OperationType = int.Parse(sArray[1].ToString());//鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[2].ToString();//鐢ㄦ埛鍚�
+            string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О
+            user_LongShan = sArray[2].ToString();//鐢ㄦ埛鍚�
+
+            try
+            {
+                if(OperationType == 1)
+                {
+                    //鍒ゆ柇鏄惁鏈夋柊澧炴潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("HR_EmpEngageRequestBill_Edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳柊澧炴潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else if(OperationType == 3)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("HR_EmpEngageRequestBill_Edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犵紪杈戞潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                
+                msg2 = "[" + msg2.ToString() + "]";
+                List<HR_EmpEngageRequestBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HR_EmpEngageRequestBillMain>>(msg2);
+
+                int HYear = int.Parse(mainList[0].HDate.Split('-')[0]);
+                int HPeriod = int.Parse(mainList[0].HDate.Split('-')[1]);
+                string HBillType = "2301";
+                string HBillSubType = "";
+
+                int HInterID = mainList[0].HInterID;
+                string HBillNo = mainList[0].HBillNo;
+                string HDate = mainList[0].HDate;
+                string HName = mainList[0].HName;
+                string HSex = mainList[0].HSex;
+                string HMarr = mainList[0].HMarr;
+                string HBirthday = mainList[0].HBirthday;
+                int HAge = mainList[0].HAge;
+                string HBlighty = mainList[0].HBlighty;
+                string HNation = mainList[0].HNation;
+                string HBlightyType = mainList[0].HBlightyType;
+                string HGovStatus = mainList[0].HGovStatus;
+                string HBloodType = mainList[0].HBloodType;
+                string HStature = mainList[0].HStature;
+                string HAvoird = mainList[0].HAvoird;
+                string HKnowLev = mainList[0].HKnowLev;
+                string HProTitleID = mainList[0].HProTitleID;
+                double HWantPay = mainList[0].HWantPay;
+                string HGradSchool = mainList[0].HGradSchool;
+                string HGradDate = mainList[0].HGradDate;
+                string HSpec = mainList[0].HSpec;
+                string HEngLev = mainList[0].HEngLev;
+                string HCompLev = mainList[0].HCompLev;
+                string HLinkPhone = mainList[0].HLinkPhone;
+                string HEmail = mainList[0].HEmail;
+                string HNowAdd = mainList[0].HNowAdd;
+                string HHomeAdd = mainList[0].HHomeAdd;
+                string HIDCard = mainList[0].HIDCard;
+                string HPostalCode = mainList[0].HPostalCode;
+                string HOldCompany = mainList[0].HOldCompany;
+                int HInsuranceStatus = mainList[0].HInsuranceStatus?1:0;
+                string HInsuranceDate = mainList[0].HInsuranceDate;
+                string HInsuranceNo = mainList[0].HInsuranceNo;
+                string HContractBDate = mainList[0].HContractBDate;
+                int HContractYear = mainList[0].HContractYear;
+                string HContractEDate = mainList[0].HContractEDate;
+                string HJobCardEDate = mainList[0].HJobCardEDate;
+                string HJobCardNo = mainList[0].HJobCardNo;
+                string HCheckCardEDate = mainList[0].HCheckCardEDate;
+                string HStayCardEDate = mainList[0].HStayCardEDate;
+                string HHealthCardEDate = mainList[0].HHealthCardEDate;
+                string HArchivesNo = mainList[0].HArchivesNo;
+
+                string HRemark = "";
+                string HMaker = mainList[0].HMaker;
+                string HMakerDate = mainList[0].HMakerDate;
+                string HUpdater = mainList[0].HUpdater;
+                string HUpdaterDate = mainList[0].HUpdaterDate;
+
+
+                //if (OperationType == 2)
+                //{
+                //    ds = oCN.RunProcReturn("select * from PM_WorkTaskBillMain where HBillNo ='" + HBillNo + "'", "PM_WorkTaskBillMain");
+                //    if (ds.Tables[0].Rows.Count > 0)
+                //    {
+                //        objJsonResult.code = "0";
+                //        objJsonResult.count = 0;
+                //        objJsonResult.Message = "鍗曟嵁鍙烽噸澶�,璇烽噸鏂拌緭鍏�!";
+                //        objJsonResult.data = null;
+                //        return objJsonResult;
+                //    }
+                //}
+
+                ds = oCN.RunProcReturn("select * from HR_EmpEngageRequestBillMain where HInterID = " + HInterID + " and HBillNo = '" + HBillNo + "'", "HR_EmpEngageRequestBillMain");
+
+                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
+                {
+                    string sql = "insert into HR_EmpEngageRequestBillMain" +
+                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HBillNo,HDate,HName,HSex,HMarr,HBirthday,HAge,HBlighty,HNation,HBlightyType,HGovStatus,HBloodType,HStature" +
+                        ",HAvoird,HKnowLev,HProTitleID,HWantPay,HGradSchool聽,HGradDate,HSpec,HEngLev,HCompLev,HLinkPhone聽,HEmail,HNowAdd,HHomeAdd" +
+                        ",HIDCard,HPostalCode,HOldCompany,HInsuranceStatus,HInsuranceDate,HInsuranceNo,HContractBDate,HContractYear,HContractEDate" +
+                        ",HJobCardEDate,HJobCardNo,HCheckCardEDate,HStayCardEDate,HHealthCardEDate,HArchivesNo,HRemark,HMaker,HMakeDate)" +
+                        "values(" +
+                        "" + HYear +
+                        "," + HPeriod +
+                        ",'" + HBillType +
+                        "','" + HBillSubType +
+                        "'," + HInterID +
+                        ",'" + HBillNo +
+                        "','" + HDate +
+                        "','" + HName +
+                        "','" + HSex +
+                        "','" + HMarr +
+                        "','" + HBirthday +
+                        "'," + HAge +
+                        ",'" + HBlighty +
+                        "','" + HNation +
+                        "','" + HBlightyType +
+                        "','" + HGovStatus +
+                        "','" + HBloodType +
+                        "','" + HStature +
+                        "','" + HAvoird +
+                        "','" + HKnowLev +
+                        "','" + HProTitleID +
+                        "'," + HWantPay +
+                        ",'" + HGradSchool +
+                        "','" + HGradDate +
+                        "','" + HSpec +
+                        "','" + HEngLev +
+                        "','" + HCompLev +
+                        "','" + HLinkPhone +
+                        "','" + HEmail +
+                        "','" + HNowAdd +
+                        "','" + HHomeAdd +
+                        "','" + HIDCard +
+                        "','" + HPostalCode +
+                        "','" + HOldCompany +
+                        "'," + HInsuranceStatus +
+                        ",'" + HInsuranceDate +
+                        "','" + HInsuranceNo +
+                        "','" + HContractBDate +
+                        "'," + HContractYear +
+                        ",'" + HContractEDate +
+                        "','" + HJobCardEDate +
+                        "','" + HJobCardNo +
+                        "','" + HCheckCardEDate +
+                        "','" + HStayCardEDate +
+                        "','" + HHealthCardEDate +
+                        "','" + HArchivesNo +
+                        "','" + HRemark +
+                        "','" + HMaker +
+                        "','" + HMakerDate +
+                        "')";
+
+                    //涓昏〃
+                    oCN.RunProc(sql);
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板鍏ヨ亴鐢宠鍗�:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板鍏ヨ亴鐢宠鍗曪細" + HBillNo + "','LMES-鍏ヨ亴鐢宠鍗曟ā鍧�','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)                    //缂栬緫
+                {
+                    string sql = "update HR_EmpEngageRequestBillMain set " +
+                        "HYear = " + HYear +
+                        ",HPeriod = " + HPeriod +
+                        ",HBillType = '" + HBillType +
+                        "',HBillSubType = '" + HBillSubType +
+                        "', HBillNo = '" + HBillNo +
+                        "', HDate = '" + HDate +
+                        "', HName = '" + HName +
+                        "', HSex = '" + HSex +
+                        "', HMarr = '" + HMarr +
+                        "', HBirthday = '" + HBirthday +
+                        "', HAge = " + HAge +
+                        ", HBlighty = '" + HBlighty +
+                        "', HNation = '" + HNation +
+                        "', HBlightyType = '" + HBlightyType +
+                        "', HGovStatus = '" + HGovStatus +
+                        "', HBloodType = '" + HBloodType +
+                        "', HStature = '" + HStature +
+                        "', HAvoird = '" + HAvoird +
+                        "', HKnowLev = '" + HKnowLev +
+                        "', HProTitleID = '" + HProTitleID +
+                        "', HWantPay = " + HWantPay +
+                        ", HGradSchool聽 = '" + HGradSchool +
+                        "', HGradDate = '" + HGradDate +
+                        "', HSpec = '" + HSpec +
+                        "', HEngLev = '" + HEngLev +
+                        "', HCompLev = '" + HCompLev +
+                        "', HLinkPhone聽 = '" + HLinkPhone +
+                        "', HEmail = '" + HEmail +
+                        "', HNowAdd = '" + HNowAdd +
+                        "', HHomeAdd = '" + HHomeAdd +
+                        "', HIDCard = '" + HIDCard +
+                        "', HPostalCode = '" + HPostalCode +
+                        "', HOldCompany = '" + HOldCompany +
+                        "', HInsuranceStatus = " + HInsuranceStatus +
+                        ", HInsuranceDate = '" + HInsuranceDate +
+                        "', HInsuranceNo = '" + HInsuranceNo +
+                        "', HContractBDate = '" + HContractBDate +
+                        "', HContractYear = " + HContractYear +
+                        ", HContractEDate = '" + HContractEDate +
+                        "', HJobCardEDate = '" + HJobCardEDate +
+                        "', HJobCardNo = '" + HJobCardNo +
+                        "', HCheckCardEDate = '" + HCheckCardEDate +
+                        "', HStayCardEDate = '" + HStayCardEDate +
+                        "', HHealthCardEDate = '" + HHealthCardEDate +
+                        "', HArchivesNo = '" + HArchivesNo +
+                        "',HUpdater = '" + HUpdater +
+                        "',HUpdateDate = '" + HUpdaterDate +
+                        "' where HInterID = " + HInterID;
+
+                    oCN.RunProc(sql);
+
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("delete from HR_EmpEngageRequestBillSub where HInterID='" + HInterID + "'");
+                    //璁板綍鏃ュ織
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼鍏ヨ亴鐢宠鍗�:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼鍏ヨ亴鐢宠鍗曪細" + HBillNo + "','LMES-鍏ヨ亴鐢宠鍗曟ā鍧�','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨瀛愯〃
+                objJsonResult = AddEmpEngageRequestBillSub(HInterID, HBillNo, OperationType);
+
+                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 = 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;
+            }
+        }
+        #endregion
+
+        #region 娣诲姞鍏ヨ亴鐢宠鍗� 瀛愯〃
+        public json AddEmpEngageRequestBillSub(long HInterID, string HBillNo, int OperationType)
+        {
+            string sql = "insert into HR_EmpEngageRequestBillSub" +
+                "(HInterID,HEntryID,HRemark) " +
+                "values(" +
+                "" + HInterID +
+                "," + 1 +
+                ",'" + "" +
+                "')";
+
+            oCN.RunProc(sql);
+
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+        #endregion
+        #endregion
+
+        #region 鍏ヨ亴鐢宠鍗曞垪琛� 鏌ヨ
+        /// <summary>
+        /// 杩斿洖椤圭洰闃舵鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("HR_EmpEngageRequestBill/list")]
+        [HttpGet]
+        public object getEmpEngageRequestBill(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Gy_ProjectStage_Query", 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_HR_EmpEngageRequestBillList order by 鍗曟嵁鍙� ", "h_v_HR_EmpEngageRequestBillList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_HR_EmpEngageRequestBillList where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� ";
+                    ds = oCN.RunProcReturn(sql, "h_v_HR_EmpEngageRequestBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                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 鍏ヨ亴鐢宠鍗� 缂栬緫-椤甸潰璧嬪��
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("HR_EmpEngageRequestBill/editInit")]
+        [HttpGet]
+        public object getEmpEngageRequestBilleditInit(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("HR_EmpEngageRequestBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犵紪杈戞潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if(HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("exec h_p_HR_EmpEngageRequestBill_EditInit " + HInterID, "h_p_HR_EmpEngageRequestBill_EditInit");
+
+                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 鍏ヨ亴鐢宠鍗� 鍒犻櫎
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("HR_EmpEngageRequestBill/delete")]
+        [HttpGet]
+        public object deleteEmpEngageRequestBill(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("HR_EmpEngageRequestBill_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if(HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from HR_EmpEngageRequestBillMain where HInterID = " + HInterID);
+                oCN.RunProc("delete from HR_EmpEngageRequestBillSub where HInterID= " + HInterID);
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                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("HR_EmpEngageRequestBill/AuditHR_EmpEngageRequestBill")]
+        [HttpGet]
+        public object AuditHR_EmpEngageRequestBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("HR_EmpEngageRequestBill_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;
+                BillOld.MvarItemKey = "HR_EmpEngageRequestBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (!BillOld.AbandonCheck(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍏ヨ亴鐢宠鍗� 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("HR_EmpEngageRequestBill/CloseHR_EmpEngageRequestBill")]
+        [HttpGet]
+        public object CloseHR_EmpEngageRequestBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("HR_EmpEngageRequestBill_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;
+                BillOld.MvarItemKey = "HR_EmpEngageRequestBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍏ヨ亴鐢宠鍗� 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("HR_EmpEngageRequestBill/DropHR_EmpEngageRequestBill")]
+        [HttpGet]
+        public object DropHR_EmpEngageRequestBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("HR_EmpEngageRequestBill_Delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愪綔搴�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "HR_EmpEngageRequestBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //浣滃簾鍗曟嵁
+                    if (!BillOld.Cancelltion(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽浣滃簾!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶄綔搴熷崟鎹�
+                    if (!BillOld.AbandonCancelltion(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+    }
+}
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\344\272\272\344\272\213\347\256\241\347\220\206/\347\246\273\350\201\214\347\224\263\350\257\267/HR_EmpDimissionBillController.cs" "b/WebAPI/Controllers/\344\272\272\344\272\213\347\256\241\347\220\206/\347\246\273\350\201\214\347\224\263\350\257\267/HR_EmpDimissionBillController.cs"
new file mode 100644
index 0000000..59d88ce
--- /dev/null
+++ "b/WebAPI/Controllers/\344\272\272\344\272\213\347\256\241\347\220\206/\347\246\273\350\201\214\347\224\263\350\257\267/HR_EmpDimissionBillController.cs"
@@ -0,0 +1,792 @@
+锘縰sing DBUtility;
+using Model;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.Http;
+using System.Windows.Forms;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers.椤圭洰绠$悊.宸ヤ綔浠诲姟
+{
+    public class HR_EmpDimissionBillController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
+        string user_LongShan = "";
+        string HName_LongShan = "";
+
+        #region 绂昏亴鐢宠鍗� 鏂板/缂栬緫
+        #region 绂昏亴鐢宠鍗� 琛ㄥご鏁版嵁
+        public class HR_EmpDimissionBillMain
+        {
+            public int HInterID;
+            public string HBillNo;
+            public string HDate;
+            public string HInnerBillNo;
+            public int HEmpID;
+            public string HEmpName;
+            public int HDeptID;
+            public string HDeptName;
+            public int HPostID;
+            public string HPostName;
+            public string HBlighty;
+            public string HInComDate;
+            public string HDimissionDate;
+            public string HExplanation;
+            public string HDimissionType;
+            public string HDeptAdvice;
+            public string HAssManagerAdvice;
+            public string HGManagerAdvice;
+            public string HRemark;
+
+
+            public string HMaker;
+            public string HMakerDate;
+            public string HUpdater;
+            public string HUpdaterDate;
+            public string HChecker;
+            public string HCheckerDate;
+            public string HCloseMan;
+            public string HCloseManDate;
+            public string HDeleteMan;
+            public string HDeleteManDate;
+            public string HBacker;
+            public string HBackerDate;
+            public string HBackRemark;
+        }
+        #endregion
+
+        #region 绂昏亴鐢宠鍗� 鏂板/缂栬緫
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("HR_EmpDimissionBill/AddEmpDimissionBill")]
+        [HttpPost]
+        public object AddEmpDimissionBill([FromBody] JObject sMainSub)
+        {
+            //鑾峰彇鍙傛暟
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            //寮�濮嬩簨鍔�
+            oCN.BeginTran();
+            //淇濆瓨涓昏〃
+            objJsonResult = AddEmpDimissionBillMain(msg1);
+            if (objJsonResult.code == "0")
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = objJsonResult.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            oCN.Commit();
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�";
+            objJsonResult.data = ds.Tables[0];
+            return objJsonResult;
+        }
+        #endregion
+        #region 娣诲姞 绂昏亴鐢宠鍗� 涓昏〃
+        public json AddEmpDimissionBillMain(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            int OperationType = int.Parse(sArray[1].ToString());//鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[2].ToString();//鐢ㄦ埛鍚�
+            string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О
+            user_LongShan = sArray[2].ToString();//鐢ㄦ埛鍚�
+
+            try
+            {
+                if(OperationType == 1)
+                {
+                    //鍒ゆ柇鏄惁鏈夋柊澧炴潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("HR_EmpDimissionBill_Edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳柊澧炴潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else if(OperationType == 3)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("HR_EmpDimissionBill_Edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犵紪杈戞潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                
+                msg2 = "[" + msg2.ToString() + "]";
+                List<HR_EmpDimissionBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HR_EmpDimissionBillMain>>(msg2);
+
+                int HYear = int.Parse(mainList[0].HDate.Split('-')[0]);
+                int HPeriod = int.Parse(mainList[0].HDate.Split('-')[1]);
+                string HBillType = "2311";
+                string HBillSubType = "";
+
+                int HInterID = mainList[0].HInterID;
+                string HBillNo = mainList[0].HBillNo;
+                string HDate = mainList[0].HDate;
+                string HInnerBillNo = mainList[0].HInnerBillNo;
+                int HEmpID = mainList[0].HEmpID;
+                string HEmpName = mainList[0].HEmpName;
+                int HDeptID = mainList[0].HDeptID;
+                string HDeptName = mainList[0].HDeptName;
+                int HPostID = mainList[0].HPostID;
+                string HPostName = mainList[0].HPostName;
+                string HBlighty = mainList[0].HBlighty;
+                string HInComDate = mainList[0].HInComDate;
+                string HDimissionDate = mainList[0].HDimissionDate;
+                string HExplanation = mainList[0].HExplanation;
+                string HDimissionType = mainList[0].HDimissionType;
+                string HDeptAdvice = mainList[0].HDeptAdvice;
+                string HAssManagerAdvice = mainList[0].HAssManagerAdvice;
+                string HGManagerAdvice = mainList[0].HGManagerAdvice;
+                string HRemark = mainList[0].HRemark;
+
+                string HMaker = mainList[0].HMaker;
+                string HMakerDate = mainList[0].HMakerDate;
+                string HUpdater = mainList[0].HUpdater;
+                string HUpdaterDate = mainList[0].HUpdaterDate;
+
+
+                //if (OperationType == 2)
+                //{
+                //    ds = oCN.RunProcReturn("select * from PM_WorkTaskBillMain where HBillNo ='" + HBillNo + "'", "PM_WorkTaskBillMain");
+                //    if (ds.Tables[0].Rows.Count > 0)
+                //    {
+                //        objJsonResult.code = "0";
+                //        objJsonResult.count = 0;
+                //        objJsonResult.Message = "鍗曟嵁鍙烽噸澶�,璇烽噸鏂拌緭鍏�!";
+                //        objJsonResult.data = null;
+                //        return objJsonResult;
+                //    }
+                //}
+
+                ds = oCN.RunProcReturn("select * from HR_EmpDimissionBillMain where HInterID = " + HInterID + " and HBillNo = '" + HBillNo + "'", "HR_EmpDimissionBillMain");
+
+                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
+                {
+                    string sql = "insert into HR_EmpDimissionBillMain" +
+                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HBillNo,HDate,HInnerBillNo,HEmpID,HDeptID,HPostID,HBlighty,HInComDate,HDimissionDate,HExplanation,HDimissionType,HDeptAdvice,HAssManagerAdvice,HGManagerAdvice,HRemark,HMaker,HMakeDate)" +
+                        "values(" +
+                        "" + HYear +
+                        "," + HPeriod +
+                        ",'" + HBillType +
+                        "','" + HBillSubType +
+                        "'," + HInterID +
+                        ",'" + HBillNo +
+                        "','" + HDate +
+                        "','" + HInnerBillNo +
+                        "'," + HEmpID +
+                        "," + HDeptID +
+                        "," + HPostID +
+                        ",'" + HBlighty +
+                        "','" + HInComDate +
+                        "','" + HDimissionDate +
+                        "','" + HExplanation +
+                        "','" + HDimissionType +
+                        "','" + HDeptAdvice +
+                        "','" + HAssManagerAdvice +
+                        "','" + HGManagerAdvice +
+                        "','" + HRemark + 
+                        "','" + HMaker +
+                        "','" + HMakerDate +
+                        "')";
+
+                    //涓昏〃
+                    oCN.RunProc(sql);
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板绂昏亴鐢宠鍗�:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板绂昏亴鐢宠鍗曪細" + HBillNo + "','LMES-绂昏亴鐢宠鍗曟ā鍧�','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)                    //缂栬緫
+                {
+                    string sql = "update HR_EmpDimissionBillMain set " +
+                        "HYear = " + HYear +
+                        ",HPeriod = " + HPeriod +
+                        ",HBillType = '" + HBillType +
+                        "',HBillSubType = '" + HBillSubType +
+                        "', HBillNo = '" + HBillNo +
+                        "', HDate = '" + HDate +
+                        "', HInnerBillNo = '" + HInnerBillNo +
+                        "', HEmpID = " + HEmpID +
+                        ", HDeptID = " + HDeptID +
+                        ", HPostID = " + HPostID +
+                        ", HBlighty = '" + HBlighty +
+                        "', HInComDate = '" + HInComDate +
+                        "', HDimissionDate = '" + HDimissionDate +
+                        "', HExplanation = '" + HExplanation +
+                        "', HDimissionType = '" + HDimissionType +
+                        "', HDeptAdvice = '" + HDeptAdvice +
+                        "', HAssManagerAdvice = '" + HAssManagerAdvice +
+                        "', HGManagerAdvice = '" + HGManagerAdvice +
+                        "', HRemark = '" + HRemark +
+
+                        "',HUpdater = '" + HUpdater +
+                        "',HUpdateDate = '" + HUpdaterDate +
+                        "' where HInterID = " + HInterID;
+
+                    oCN.RunProc(sql);
+
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("delete from HR_EmpDimissionBillSub where HInterID= " + HInterID + "");
+                    //璁板綍鏃ュ織
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼绂昏亴鐢宠鍗�:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼鍏ヨ亴鐢宠鍗曪細" + HBillNo + "','LMES-绂昏亴鐢宠鍗曟ā鍧�','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨瀛愯〃
+                objJsonResult = AddEmpDimissionBillSub(HInterID, HBillNo, OperationType);
+                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 = 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;
+            }
+        }
+        #endregion
+        #region 娣诲姞绂昏亴鐢宠鍗� 瀛愯〃
+        public json AddEmpDimissionBillSub(long HInterID, string HBillNo, int OperationType)
+        {
+            string sql = "insert into HR_EmpDimissionBillSub" +
+                "(HInterID,HEntryID) " +
+                "values(" +
+                "" + HInterID +
+                "," + 1 +
+                ")";
+
+            oCN.RunProc(sql);
+
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+        #endregion
+        #endregion
+
+        #region 绂昏亴鐢宠鍗曞垪琛� 鏌ヨ
+        /// <summary>
+        /// 杩斿洖椤圭洰闃舵鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("HR_EmpDimissionBill/list")]
+        [HttpGet]
+        public object getEmpDimissionBill(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("HR_EmpDimissionBillList", 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_HR_EmpDimissionBillList order by 鍗曟嵁鍙� ", "h_v_HR_EmpDimissionBillList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_HR_EmpDimissionBillList where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� ";
+                    ds = oCN.RunProcReturn(sql, "h_v_HR_EmpDimissionBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                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 绂昏亴鐢宠鍗� 缂栬緫-椤甸潰璧嬪��
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("HR_EmpDimissionBill/editInit")]
+        [HttpGet]
+        public object getEmpDimissionBilleditInit(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("HR_EmpDimissionBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犵紪杈戞潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if(HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("exec h_p_HR_EmpDimissionBill_EditInit " + HInterID, "h_p_HR_EmpDimissionBill_EditInit");
+
+                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 绂昏亴鐢宠鍗� 鍒犻櫎
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("HR_EmpDimissionBill/delete")]
+        [HttpGet]
+        public object deleteEmpDimissionBill(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("HR_EmpDimissionBill_Delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if(HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from HR_EmpDimissionBillMain where HInterID = " + HInterID);
+                oCN.RunProc("delete from HR_EmpDimissionBillSub where HInterID= " + HInterID);
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                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("HR_EmpDimissionBill/AuditHR_EmpDimissionBill")]
+        [HttpGet]
+        public object AuditHR_EmpDimissionBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("HR_EmpDimissionBill_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;
+                BillOld.MvarItemKey = "HR_EmpDimissionBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (!BillOld.AbandonCheck(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 绂昏亴鐢宠鍗� 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("HR_EmpDimissionBill/CloseHR_EmpDimissionBill")]
+        [HttpGet]
+        public object CloseHR_EmpDimissionBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("HR_EmpDimissionBill_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;
+                BillOld.MvarItemKey = "HR_EmpDimissionBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 绂昏亴鐢宠鍗� 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("HR_EmpDimissionBill/DropHR_EmpDimissionBill")]
+        [HttpGet]
+        public object DropHR_EmpDimissionBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("HR_EmpDimissionBill_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;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "HR_EmpDimissionBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //浣滃簾鍗曟嵁
+                    if (!BillOld.Cancelltion(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽浣滃簾!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶄綔搴熷崟鎹�
+                    if (!BillOld.AbandonCancelltion(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+    }
+}
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\346\235\241\347\240\201\347\224\237\346\210\220/Sc_BarCodeController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\346\235\241\347\240\201\347\224\237\346\210\220/Sc_BarCodeController.cs"
index a788ec6..2506f79 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\346\235\241\347\240\201\347\224\237\346\210\220/Sc_BarCodeController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\346\235\241\347\240\201\347\224\237\346\210\220/Sc_BarCodeController.cs"
@@ -156,6 +156,7 @@
         [HttpGet]
         public object ReportFromBillList(int page, int limit, string sWhere,string HSouceBillType,string HOrgID)
         {
+            oSystemParameter.ShowBill(ref DBUtility.ClsPub.sExeReturnInfo);
             List<object> columnNameList = new List<object>();
             try
             {
@@ -191,8 +192,16 @@
                         break;
                     case "鏀舵枡閫氱煡鍗�":
                         tabname = "h_v_IF_POInStockBillList_Source";
-                        count = new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IF_POInStockBillList_Source " + sWhere + " order by 鍗曟嵁鍙� desc,hsubid", tabname).Tables[0].Rows.Count;
-                        sql = string.Format(@"select * from(select row_number() over (order by 鍗曟嵁鍙� desc,hsubid) as HRowNumber,* from h_v_IF_POInStockBillList_Source " + sWhere + ")   as A where HRowNumber >" + pageSize + " *(" + pageNum + "-1)");
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鐟炰笌绁�")
+                        {
+                            count = new SQLHelper.ClsCN().RunProcReturn("select top 1000 * from h_v_IF_POInStockBillList_Source " + sWhere + " order by 鍗曟嵁鍙� desc,hsubid", tabname).Tables[0].Rows.Count;
+                            sql = string.Format(@"select * from(select  top 1000 row_number() over (order by 鍗曟嵁鍙� desc,hsubid) as HRowNumber,* from h_v_IF_POInStockBillList_Source " + sWhere + ")   as A where HRowNumber >" + pageSize + " *(" + pageNum + "-1)");
+                        }
+                        else
+                        {
+                            count = new SQLHelper.ClsCN().RunProcReturn("select * from h_v_IF_POInStockBillList_Source " + sWhere + " order by 鍗曟嵁鍙� desc,hsubid", tabname).Tables[0].Rows.Count;
+                            sql = string.Format(@"select * from(select row_number() over (order by 鍗曟嵁鍙� desc,hsubid) as HRowNumber,* from h_v_IF_POInStockBillList_Source " + sWhere + ")   as A where HRowNumber >" + pageSize + " *(" + pageNum + "-1)");
+                        }
                         break;
                     case "濮斿璁㈠崟":
                         tabname = "h_v_IF_EntrustOrderBillList_Source";
@@ -465,6 +474,7 @@
 
         public object HSourceOrderList1(DataTable dt, HSouceOrderList ordrlist, string HBarCodeType,string HSourceBillType)
         {
+            oSystemParameter.ShowBill(ref DBUtility.ClsPub.sExeReturnInfo);
             for (int i = 0; i < dt.Rows.Count; i++)
             {
                 ordrlist.HQty = dt.Rows[i]["鏈敓鎴愭潯鐮佹暟閲�"].ToString();
@@ -491,9 +501,12 @@
 
                 if(HSourceBillType == "鏀舵枡閫氱煡鍗�")
                 {
-                    ordrlist.HFurnaceNO = dt.Rows[i]["鐐夊彿"].ToString();
-                    ordrlist.HCoilNO = dt.Rows[i]["閽㈠嵎鎹嗗寘鍙�"].ToString();
-                    ordrlist.HheatNO = dt.Rows[i]["鐑鐞�"].ToString();
+                    if (oSystemParameter.omodel.WMS_CampanyName != "鐟炰笌绁�")
+                    {
+                        ordrlist.HFurnaceNO = dt.Rows[i]["鐐夊彿"].ToString();
+                        ordrlist.HCoilNO = dt.Rows[i]["閽㈠嵎鎹嗗寘鍙�"].ToString();
+                        ordrlist.HheatNO = dt.Rows[i]["鐑鐞�"].ToString();
+                    }
                 }
 
                 if (HBarCodeType == "浠櫒澶栬喘浠舵潯鐮佸鍣ㄨ鍒�")
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_ConkReasonBillController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_ConkReasonBillController.cs"
index d739f22..80e89fe 100644
--- "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_ConkReasonBillController.cs"
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_ConkReasonBillController.cs"
@@ -91,6 +91,200 @@
         }
         #endregion
 
+        #region 鏁呴殰鍘熷洜瀹℃牳銆佸弽瀹℃牳
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_ConkReason/AuditGy_ConkReason")]
+        [HttpGet]
+        public object AuditGy_ConkReason(int HInterID, int IsAudit, string CurUserName)
+        {
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_ConkReason_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_ConkReason where HItemID=" + HInterID, "Gy_ConkReason");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_ConkReason set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {
+                    oCN.RunProc("update Gy_ConkReason set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鏁呴殰鍘熷洜绂佺敤銆佸弽绂佺敤
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsStop">绂佺敤(0),鍙嶇鐢�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_ConkReason/StopGy_ConkReason")]
+        [HttpGet]
+        public object StopGy_ConkReason(int HInterID, int IsStop, string CurUserName)
+        {
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_ConkReason_Stop", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绂佺敤澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_ConkReason where HItemID=" + HInterID, "Gy_ConkReason");
+                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)  //绂佺敤鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_ConkReason set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "绂佺敤鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsStop == 1) //鍙嶇鐢ㄥ垽鏂�
+                {
+                    oCN.RunProc("update Gy_ConkReason set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶇鐢ㄦ垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "绂佺敤澶辫触鎴栬�呭弽绂佺敤澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+
         #region [鏁呴殰鍘熷洜鍒犻櫎鍔熻兘]
         [Route("Gy_ConkReasonBill/set_DeleteBill")]
         [HttpGet]
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillListController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillListController.cs"
index a2d6ca6..9da1975 100644
--- "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillListController.cs"
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillListController.cs"
@@ -23,6 +23,7 @@
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
         DAL.ClsGy_SOPBill oBill = new DAL.ClsGy_SOPBill();
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
 
         public DataGridView grdMain = new System.Windows.Forms.DataGridView();
 
@@ -251,6 +252,20 @@
             {
                 ds = oCN.RunProcReturn(sWhere, "WindowPrint");
 
+                //瀹㈡埛鍒跺畾
+                string sErr = "";
+                if (oSystemParameter.ShowBill(ref sErr))
+                {
+                    if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴")
+                    {
+                        if (ds.Tables[0].Columns.Count > 8) {
+                            LogService.CustomWriteLog("鍗曟嵁鍙�:"+ ds.Tables[0].Rows[0][7].ToString(),"CS"+ DateTime.Now.ToString("yyyyMMdd"));
+                        }
+                    }
+                  
+                }
+               
+
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\267\245\350\265\204\345\237\272\347\241\200\350\265\204\346\226\231/Gy_ProcCommPriceController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\267\245\350\265\204\345\237\272\347\241\200\350\265\204\346\226\231/Gy_ProcCommPriceController.cs"
new file mode 100644
index 0000000..1d1c13a
--- /dev/null
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\267\245\350\265\204\345\237\272\347\241\200\350\265\204\346\226\231/Gy_ProcCommPriceController.cs"
@@ -0,0 +1,517 @@
+锘縰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
+{
+    //濮斿宸ュ簭宸ヤ环Controller
+    public class Gy_ProcCommPriceController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
+        string user_LongShan = "";
+        string HName_LongShan = "";
+
+
+        #region 濮斿宸ュ簭宸ヤ环 鏂板/缂栬緫-淇濆瓨
+        #region 濮斿宸ュ簭宸ヤ环 琛ㄥご鏁版嵁
+        public class Gy_ProcCommPrice_Main
+        {
+            public int HItemID;
+            public int HProcCommID;
+            public string HProcCommNumber;
+            public string HProcCommName;
+            public int HMaterID;
+            public string HMaterNumber;
+            public string HMaterName;
+            public string HModel;
+            public int HSupID;
+            public string HSupName;
+            public string HMaker;
+            public string HUpdater;
+            public string HChecker;
+            public string HMakerDate;
+            public string HUpdaterDate;
+            public string HCheckerDate;
+            public string HCloseMan;
+            public string HDeleteMan;
+            public string HCloseManDate;
+            public string HDeleteManDate;
+        }
+        #endregion
+        #region 濮斿宸ュ簭宸ヤ环 瀛愯〃鏁版嵁
+        public class Gy_ProcCommPrice_Sub
+        {
+            public int RowID;
+            public int HMaterID;
+            public string HMaterNumber;
+            public string HMaterName;
+            public string HModel;
+            public int HProcCommID;
+            public string HProcCommNumber;
+            public string HProcCommName;
+            public double HPrice;
+            public string HBeginDate;
+            public string HEndDate;
+            public bool HCostFlag;
+            public bool HFlowFlag;
+            public string HRemark;
+        }
+        #endregion
+        #region 濮斿宸ュ簭宸ヤ环 鏂板/缂栬緫-淇濆瓨
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Gy_ProcCommPrice/Add")]
+        [HttpPost]
+        public object Add_ProcCommPrice([FromBody] JObject sMainSub)
+        {
+            //鑾峰彇鍙傛暟
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            //寮�濮嬩簨鍔�
+            oCN.BeginTran();
+            //淇濆瓨涓昏〃
+            objJsonResult = Add_ProcCommPrice(msg1);
+            if (objJsonResult.code == "0")
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = objJsonResult.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            oCN.Commit();
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = "鏂板鎴愬姛锛�";
+            objJsonResult.data = ds.Tables[0];
+            return objJsonResult;
+        }
+        #endregion
+        #region 娣诲姞 濮斿宸ュ簭宸ヤ环
+        public json Add_ProcCommPrice(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+            int OperationType = int.Parse(sArray[2].ToString());//鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[3].ToString();//鐢ㄦ埛鍚�
+            try
+            {
+                if (OperationType == 1)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Gy_ProcCommPrice_Add", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳柊澧炴潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else if (OperationType == 3)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Gy_ProcCommPrice_Edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犵紪杈戞潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                //if (OperationType == 2)
+                //{
+                //    ds = oCN.RunProcReturn("select * from PM_WorkTaskReportBillMain where HBillNo ='" + HBillNo + "'", "PM_WorkTaskReportBillMain");
+                //    if (ds.Tables[0].Rows.Count > 0)
+                //    {
+                //        objJsonResult.code = "0";
+                //        objJsonResult.count = 0;
+                //        objJsonResult.Message = "鍗曟嵁鍙烽噸澶�,璇烽噸鏂拌緭鍏�!";
+                //        objJsonResult.data = null;
+                //        return objJsonResult;
+                //    }
+                //}
+
+                msg2 = "[" + msg2.ToString() + "]";
+                List<Gy_ProcCommPrice_Main> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_ProcCommPrice_Main>>(msg2);
+                List<Gy_ProcCommPrice_Sub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_ProcCommPrice_Sub>>(msg3);
+
+                ds = oCN.RunProcReturn("select * from Gy_ProcCommPrice where HItemID = " + mainList[0].HItemID , "Gy_ProcCommPrice");
+               
+                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
+                {
+                    
+                    foreach (Gy_ProcCommPrice_Sub oSub in subList)
+                    {
+
+                        int HProcCommID = oSub.HProcCommID;
+                        int HMaterID = oSub.HMaterID;
+                        int HStopFlag = 0;
+                        double HPrice = oSub.HPrice;
+                        string HRemark = oSub.HRemark;
+                        int HSupID = mainList[0].HSupID;
+                        string HBeginDate = oSub.HBeginDate;
+                        string HEndDate = oSub.HEndDate;
+                        int HCostFlag = oSub.HCostFlag ? 1 : 0;
+                        int HFlowFlag = oSub.HFlowFlag ? 1 : 0;
+                        string HMaker = user;
+                        string HMakeDate = mainList[0].HMakerDate;
+
+                        string sql = "insert into Gy_ProcCommPrice(HProcCommID,HMaterID,HStopFlag,HPrice,HRemark,HSupID,HBeginDate,HEndDate,HCostFlag,HFlowFlag,HMaker,HMakeDate)" +
+                            " values(" +
+                            "" + HProcCommID +
+                            "," + HMaterID +
+                            "," + HStopFlag +
+                            "," + HPrice +
+                            ",'" + HRemark +
+                            "'," + HSupID +
+                            ",'" + HBeginDate +
+                            "','" + HEndDate +
+                            "'," + HCostFlag +
+                            "," + HFlowFlag +
+                            ",'" + HMaker +
+                            "','" + HMakeDate +
+                            "')";
+                        oCN.RunProc(sql);
+                    }
+                }
+                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)                    //缂栬緫
+                {
+                    foreach (Gy_ProcCommPrice_Sub oSub in subList)
+                    {
+                        int HProcCommID = oSub.HProcCommID;
+                        int HMaterID = oSub.HMaterID;
+                        int HStopFlag = 0;
+                        double HPrice = oSub.HPrice;
+                        string HRemark = oSub.HRemark;
+                        int HSupID = mainList[0].HSupID;
+                        string HBeginDate = oSub.HBeginDate;
+                        string HEndDate = oSub.HEndDate;
+                        int HCostFlag = oSub.HCostFlag ? 1 : 0;
+                        int HFlowFlag = oSub.HFlowFlag ? 1 : 0;
+                        string HMaker = user;
+                        string HMakeDate = mainList[0].HMakerDate;
+                        string HUpdater = mainList[0].HUpdater;
+                        string HUpdaterDate = mainList[0].HUpdaterDate;
+
+                        string sql = "update Gy_ProcCommPrice set " +
+                            "HProcCommID = " + HProcCommID +
+                            ", HMaterID = " + HMaterID +
+                            ", HPrice = " + HPrice +
+                            ", HRemark = '" + HRemark +
+                            "', HSupID = " + HSupID +
+                            ", HBeginDate = '" + HBeginDate +
+                            "', HEndDate = '" + HEndDate +
+                            "', HCostFlag = " + HCostFlag +
+                            ", HFlowFlag = " + HFlowFlag +
+                            ", HUpdater = '" + HUpdater + 
+                            "',HUpdateDate = '" + HUpdaterDate +
+                            "' where HItemID = " + mainList[0].HItemID;
+                        oCN.RunProc(sql);
+                    }
+                }
+               
+
+
+                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;
+            }
+        }
+        #endregion
+        #endregion
+
+        #region 濮斿宸ュ簭宸ヤ环 鏌ヨ
+        /// <summary>
+        /// 杩斿洖椤圭洰闃舵鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Gy_ProcCommPrice/list")]
+        [HttpGet]
+        public object getGy_ProcCommPrice(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Gy_ProjectStage_Query", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Gy_ProcCommPrice order by HItemID ", "Gy_ProcCommPrice");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Gy_ProcCommPrice where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by HItemID ";
+                    ds = oCN.RunProcReturn(sql, "Gy_ProcCommPrice");
+                }
+
+                //娣诲姞鍒楀悕
+                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 濮斿宸ュ簭宸ヤ环 缂栬緫-椤甸潰璧嬪��
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Gy_ProcCommPrice/editInit")]
+        [HttpGet]
+        public object getGy_ProcCommPriceeditInit(string HInterID, string user)
+        {
+            try
+            {
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                List<object> columnNameList = new List<object>();
+                ds = oCN.RunProcReturn("select * from h_v_Gy_ProcCommPrice where HItemID = " + HInterID, "h_v_Gy_ProcCommPrice");
+
+                //娣诲姞鍒楀悕
+                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 濮斿宸ュ簭宸ヤ环 鍒犻櫎
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Gy_ProcCommPrice/delete")]
+        [HttpGet]
+        public object deleteGy_ProcCommPrice(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Gy_ProcCommPrice_Delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from Gy_ProcCommPrice where HItemID = " + HInterID);
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                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_ProcCommPrice/AuditGy_ProcCommPrice")]
+        [HttpGet]
+        public object AuditGy_ProcCommPrice(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_ProcCommPrice_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;
+                BillOld.MvarItemKey = "Gy_ProcCommPrice";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " 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]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            string sql1 = "update Gy_ProcCommPrice set HChecker = '" + user + "', HCheckDate = getDate() where HItemID = " + HInterID;
+                            oCN.RunProc(sql1);
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " 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]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            string sql1 = "update Gy_ProcCommPrice set HChecker = '', HCheckDate = null where HItemID = " + HInterID;
+                            oCN.RunProc(sql1);
+                        }
+                    }
+                }
+
+                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
+    }
+}
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_GroupBalBillController.cs" "b/WebAPI/Controllers/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_GroupBalBillController.cs"
index 3a64eb2..92e9052 100644
--- "a/WebAPI/Controllers/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_GroupBalBillController.cs"
+++ "b/WebAPI/Controllers/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_GroupBalBillController.cs"
@@ -6,8 +6,9 @@
 using System.Data;
 using System.Data.SqlClient;
 using System.Web.Http;
+using System.Windows.Forms;
 using WebAPI.Models;
-
+using Newtonsoft.Json;
 namespace WebAPI.Controllers
 {
 
@@ -19,6 +20,7 @@
         public DataSet ds = new DataSet();
         public WebServer webserver = new WebServer();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
         //DataSet ds;
 
 
@@ -341,5 +343,950 @@
             }
         }
         //
+
+
+
+
+
+        #region 宸ヨ祫缁撶畻鍗�(闆嗕綋) 鏂板/缂栬緫-淇濆瓨
+        #region 琛ㄥご鏁版嵁
+        public class Pay_GroupBalBillMain
+        {
+            public int HInterID;
+            public string HBillNo;
+            public string HDate;
+            public string HInnerBillNo;
+            public int HGroupID;
+            public string HGroupName;
+            public double HSumMoney;
+            public double HOtherSubsidy;
+            public int HDeptID;
+            public string HDeptName;
+            public double HPayMoney;
+            public double HOtherDeduct;
+            public string HSourceBillType;
+            public int HSourceBillID;
+            public string HSourceBillNo;
+            public string HExplanation;
+            public string HRemark;
+            public string HMaker;
+            public string HMakerDate;
+            public string HUpdater;
+            public string HUpdaterDate;
+            public string HChecker;
+            public string HCheckerDate;
+            public string HCloseMan;
+            public string HCloseManDate;
+            public string HDeleteMan;
+            public string HDeleteManDate;
+            public string HBacker;
+            public string HBackerDate;
+            public string HBackRemark;
+        }
+        #endregion
+        #region 瀛愯〃1鏁版嵁
+        public class Pay_GroupBalBillSub
+        {
+            public int RowID;
+            public int HMaterID;
+            public string HMaterNumber;
+            public string HMaterName;
+            public string HMaterModel;
+            public int HUnitID;
+            public string HUnitNumber;
+            public string HUnitName;
+            public int HProcID;
+            public string HProcNumber;
+            public string HProcName;
+            public int HSourceID;
+            public string HSourceNumber;
+            public string HSourceName;
+            public double HTimes;
+            public double HQty;
+            public double HPrice;
+            public double HMoney;
+            public string HRemark;
+            public int HICMOInterID;
+            public string HICMOBillNo;
+            public int HProcReportInterID;
+            public int HProcReportEntryID;
+            public string HProcReportBillNo;
+            public int HProcPlanInterID;
+            public int HProcPlanEntryID;
+            public string HProcPlanBillNo;
+            public int HSourceInterID;
+            public int HSourceEntryID;
+            public string HSourceBillNo;
+            public string HSourceBillType;
+            public double HRelationQty;
+            public double HRelationMoney;
+        }
+        #endregion
+        #region 瀛愯〃2鏁版嵁
+        public class Pay_GroupBalBillEmp
+        {
+            public int RowID;
+            public int HEmpID;
+            public string HEmpNumber;
+            public string HEmpName;
+            public double HEmpRate;
+            public double HBaseTimes;
+            public double HMoney;
+            public double HOtherSubsidy;
+            public double HOtherDeduct;
+            public double HYF;
+            public bool HIsPay;
+            public bool HAvgFlag;
+            public string HRemark;
+        }
+        #endregion
+        #region 宸ヨ祫缁撶畻鍗�(闆嗕綋) 鏂板/缂栬緫
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Pay_GroupBalBill/AddGroupBalBill")]
+        [HttpPost]
+        public object AddBill_Pay_GroupBalBill([FromBody] JObject sMainSub)
+        {
+            //鑾峰彇鍙傛暟
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            //寮�濮嬩簨鍔�
+            oCN.BeginTran();
+            //淇濆瓨涓昏〃
+            objJsonResult = AddBillMain_Pay_GroupBalBill(msg1);
+            if (objJsonResult.code == "0")
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = objJsonResult.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            oCN.Commit();
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�";
+            objJsonResult.data = ds.Tables[0];
+            return objJsonResult;
+        }
+        #endregion
+        #region 娣诲姞 宸ヨ祫缁撶畻鍗�(闆嗕綋) 涓昏〃
+        public json AddBillMain_Pay_GroupBalBill(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+            string msg4 = sArray[2].ToString();
+            int OperationType = int.Parse(sArray[3].ToString());//鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[4].ToString();//鐢ㄦ埛鍚�
+            string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О
+
+            try
+            {
+                if (OperationType == 1)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Pay_GroupBalBill_Edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳柊澧炴潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else if (OperationType == 3)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Pay_GroupBalBill_Edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犵紪杈戞潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                msg2 = "[" + msg2.ToString() + "]";
+                List<Pay_GroupBalBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Pay_GroupBalBillMain>>(msg2);
+
+
+                int HYear = int.Parse(mainList[0].HDate.Split('-')[0]);
+                int HPeriod = int.Parse(mainList[0].HDate.Split('-')[1]);
+                string HBillType = "2201";
+                string HBillSubType = "";
+                int HBillStatus = 1;
+
+                int HInterID = mainList[0].HInterID;
+                string HBillNo = mainList[0].HBillNo;
+                string HDate = mainList[0].HDate;
+                string HInnerBillNo = mainList[0].HInnerBillNo;
+                int HGroupID = mainList[0].HGroupID;
+                string HGroupName = mainList[0].HGroupName;
+                double HSumMoney = mainList[0].HSumMoney;
+                double HOtherSubsidy = mainList[0].HOtherSubsidy;
+                int HDeptID = mainList[0].HDeptID;
+                string HDeptName = mainList[0].HDeptName;
+                double HPayMoney = mainList[0].HPayMoney;
+                double HOtherDeduct = mainList[0].HOtherDeduct;
+                string HSourceBillType = mainList[0].HSourceBillType;
+                int HSourceBillID = mainList[0].HSourceBillID;
+                string HSourceBillNo = mainList[0].HSourceBillNo;
+                string HExplanation = mainList[0].HExplanation;
+                string HRemark = mainList[0].HRemark;
+                string HMaker = mainList[0].HMaker;
+                string HMakerDate = mainList[0].HMakerDate;
+                string HUpdater = mainList[0].HUpdater;
+                string HUpdaterDate = mainList[0].HUpdaterDate;
+                string HChecker = mainList[0].HChecker;
+                string HCheckerDate = mainList[0].HCheckerDate;
+                string HCloseMan = mainList[0].HCloseMan;
+                string HCloseManDate = mainList[0].HCloseManDate;
+                string HDeleteMan = mainList[0].HDeleteMan;
+                string HDeleteManDate = mainList[0].HDeleteManDate;
+                string HBacker = mainList[0].HBacker;
+                string HBackerDate = mainList[0].HBackerDate;
+                string HBackRemark = mainList[0].HBackRemark;
+
+
+                //if (OperationType == 2)
+                //{
+                //    ds = oCN.RunProcReturn("select * from PM_ProjectBillMain where HBillNo ='" + HBillNo + "'", "PM_ProjectBillMain");
+                //    if (ds.Tables[0].Rows.Count > 0)
+                //    {
+                //        objJsonResult.code = "0";
+                //        objJsonResult.count = 0;
+                //        objJsonResult.Message = "鍗曟嵁鍙烽噸澶�,璇烽噸鏂拌緭鍏�!";
+                //        objJsonResult.data = null;
+                //        return objJsonResult;
+                //    }
+                //}
+
+                ds = oCN.RunProcReturn("select * from Pay_GroupBalBillMain where HInterID = " + HInterID + " and HBillNo = '" + HBillNo + "'", "Pay_GroupBalBillMain");
+
+                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
+                {
+                    string sql = "insert into Pay_GroupBalBillMain" +
+                        "(HYear,HPeriod,HBillType,HBillSubType,HBillStatus,HInterID,HBillNo,HDate,HInnerBillNo,HGroupID,HSumMoney,HOtherSubsidy,HDeptID" +
+                        ",HPayMoney,HOtherDeduct,HMainSourceBillType,HMainSourceInterID,HMainSourceBillNo,HExplanation,HRemark,HMaker,HMakeDate) " +
+                        "values(" +
+                        "" + HYear +
+                        "," + HPeriod +
+                        ",'" + HBillType +
+                        "','" + HBillSubType +
+                        "','" + HBillStatus +
+                        "'," + HInterID +
+                        ",'" + HBillNo +
+                        "','" + HDate +
+                        "','" + HInnerBillNo +
+                        "'," + HGroupID +
+                        ",'" + HSumMoney +
+                        "','" + HOtherSubsidy +
+                        "'," + HDeptID +
+                        "," + HPayMoney +
+                        "," + HOtherDeduct +
+                        ",'" + HSourceBillType +
+                        "'," + HSourceBillID +
+                        ",'" + HSourceBillNo +
+                        "','" + HExplanation +
+                        "','" + HRemark +
+                        "','" + HMaker +
+                        "','" + HMakerDate +
+                        "')";
+
+                    //涓昏〃
+                    oCN.RunProc(sql);
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板宸ヨ祫缁撶畻鍗�(闆嗕綋):" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板宸ヨ祫缁撶畻鍗�(闆嗕綋)锛�" + HBillNo + "','LMES-宸ヨ祫缁撶畻鍗�(闆嗕綋)妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)                    //缂栬緫
+                {
+                    string sql = "update Pay_GroupBalBillMain set " +
+                        "HYear = " + HYear +
+                        ", HPeriod = " + HPeriod +
+                        ", HBillNo = '" + HBillNo +
+                        "', HDate = '" + HDate +
+                        "', HInnerBillNo = '" + HInnerBillNo +
+                        "', HGroupID = " + HGroupID +
+                        ", HSumMoney = " + HSumMoney +
+                        ", HOtherSubsidy = " + HOtherSubsidy +
+                        ", HDeptID = " + HDeptID +
+                        ", HPayMoney = " + HPayMoney +
+                        ", HOtherDeduct = " + HOtherDeduct +
+                        ", HMainSourceBillType = '" + HSourceBillType +
+                        "', HMainSourceInterID = " + HSourceBillID +
+                        ", HMainSourceBillNo = '" + HSourceBillNo +
+                        "', HExplanation = '" + HExplanation +
+                        "', HRemark = '" + HRemark +
+                        "', HUpdater = '" + HUpdater +
+                        "', HUpdateDate = '" + HUpdaterDate +
+                        "' where HInterID = " + HInterID;
+
+                    oCN.RunProc(sql);
+
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("delete from Pay_GroupBalBillEmp where HInterID='" + HInterID + "'");
+                    oCN.RunProc("delete from Pay_GroupBalBillSub where HInterID='" + HInterID + "'");
+                    //璁板綍鏃ュ織
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼宸ヨ祫缁撶畻鍗�(闆嗕綋):" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼宸ヨ祫缁撶畻鍗�(闆嗕綋)锛�" + HBillNo + "','LMES-宸ヨ祫缁撶畻鍗�(闆嗕綋)妯″潡','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨瀛愯〃
+                objJsonResult = AddBillSub1_Pay_GroupBalBill(msg3, HInterID, HBillNo, OperationType);
+                objJsonResult = AddBillSub2_Pay_GroupBalBill(msg4, HInterID, HBillNo, OperationType);
+
+
+                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 = 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;
+            }
+        }
+        #endregion
+        #region 娣诲姞 宸ヨ祫缁撶畻鍗�(闆嗕綋) 瀛愯〃1
+        public json AddBillSub1_Pay_GroupBalBill(string msg3, long HInterID, string HBillNo, int OperationType)
+        {
+            List<Pay_GroupBalBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Pay_GroupBalBillSub>>(msg3);
+            int i = 0;                                          //浣滀负瀛愯〃鍐呯爜
+            foreach (Pay_GroupBalBillSub oSub in DetailColl)
+            {
+                i++;                                            //鍚屼竴涓富琛ㄤ笅鐨勫瓙琛ㄧ殑鍐呯爜鑷
+
+                int HEntryID = i;
+
+                int HMaterID = oSub.HMaterID;
+                int HUnitID = oSub.HUnitID;
+                int HProcID = oSub.HProcID;
+                int HSourceID = oSub.HSourceID;
+                double HTimes = oSub.HTimes;
+                double HQty = oSub.HQty;
+                double HPrice = oSub.HPrice;
+                double HMoney = oSub.HMoney;
+                string HRemark = oSub.HRemark;
+                int HICMOInterID = oSub.HICMOInterID;
+                string HICMOBillNo = oSub.HICMOBillNo;
+                int HProcReportInterID = oSub.HProcReportInterID;
+                int HProcReportEntryID = oSub.HProcReportEntryID;
+                string HProcReportBillNo = oSub.HProcReportBillNo;
+                int HProcPlanInterID = oSub.HProcPlanInterID;
+                int HProcPlanEntryID = oSub.HProcPlanEntryID;
+                string HProcPlanBillNo = oSub.HProcPlanBillNo;
+                int HSourceInterID = oSub.HSourceInterID;
+                int HSourceEntryID = oSub.HSourceEntryID;
+                string HSourceBillNo = oSub.HSourceBillNo;
+                string HSourceBillType = oSub.HSourceBillType;
+                double HRelationQty = oSub.HRelationQty;
+                double HRelationMoney = oSub.HRelationMoney;
+
+
+
+                string sql = "insert into Pay_GroupBalBillSub" +
+                    "(HInterID,HEntryID,HMaterID,HUnitID,HProcID,HSourceID,HTimes,HQty,HPrice,HMoney,HRemark,HICMOInterID,HICMOBillNo,HProcReportInterID" +
+                    ",HProcReportEntryID,HProcReportBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HSourceInterID,HSourceEntryID,HSourceBillNo" +
+                    ",HSourceBillType,HRelationQty,HRelationMoney) " +
+                    "values(" +
+                    "" + HInterID +
+                    "," + HEntryID +
+                    "," + HMaterID +
+                    "," + HUnitID +
+                    "," + HProcID +
+                    "," + HSourceID +
+                    "," + HTimes +
+                    "," + HQty +
+                    "," + HPrice +
+                    "," + HMoney +
+                    ",'" + HRemark +
+                    "'," + HICMOInterID +
+                    ",'" + HICMOBillNo +
+                    "'," + HProcReportInterID +
+                    "," + HProcReportEntryID +
+                    ",'" + HProcReportBillNo +
+                    "'," + HProcPlanInterID +
+                    "," + HProcPlanEntryID +
+                    ",'" + HProcPlanBillNo +
+                    "'," + HSourceInterID +
+                    "," + HSourceEntryID +
+                    ",'" + HSourceBillNo +
+                    "','" + HSourceBillType +
+                    "'," + HRelationQty +
+                    "," + HRelationMoney +
+                    ")";
+
+                oCN.RunProc(sql);
+            }
+
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+        #endregion
+        #region 娣诲姞 宸ヨ祫缁撶畻鍗�(闆嗕綋) 瀛愯〃2
+        public json AddBillSub2_Pay_GroupBalBill(string msg3, long HInterID, string HBillNo, int OperationType)
+        {
+            List<Pay_GroupBalBillEmp> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Pay_GroupBalBillEmp>>(msg3);
+            int i = 0;                                          //浣滀负瀛愯〃鍐呯爜
+            foreach (Pay_GroupBalBillEmp oSub in DetailColl)
+            {
+                i++;                                            //鍚屼竴涓富琛ㄤ笅鐨勫瓙琛ㄧ殑鍐呯爜鑷
+
+                int HEntryID = i;
+
+                int HEmpID = oSub.HEmpID;
+                string HEmpNumber = oSub.HEmpNumber;
+                string HEmpName = oSub.HEmpName;
+                double HEmpRate = oSub.HEmpRate;
+                double HBaseTimes = oSub.HBaseTimes;
+                double HMoney = oSub.HMoney;
+                double HOtherSubsidy = oSub.HOtherSubsidy;
+                double HOtherDeduct = oSub.HOtherDeduct;
+                double HYF = oSub.HYF;
+                int HIsPay = oSub.HIsPay?1:0;
+                int HAvgFlag = oSub.HAvgFlag?1:0;
+                string HRemark = oSub.HRemark;
+
+
+
+                string sql = "insert into Pay_GroupBalBillEmp" +
+                    "(HInterID,HEntryID,HEmpID,HEmpRate,HBaseTimes,HMoney,HOtherSubsidy,HOtherDeduct,HYF,HIsPay,HAvgFlag,HRemark) " +
+                    "values(" +
+                    "" + HInterID +
+                    "," + HEntryID +
+                    "," + HEmpID +
+                    "," + HEmpRate +
+                    "," + HBaseTimes +
+                    "," + HMoney +
+                    "," + HOtherSubsidy +
+                    "," + HOtherDeduct +
+                    "," + HYF +
+                    "," + HIsPay +
+                    "," + HAvgFlag +
+                    ",'" + HRemark +
+                    "')";
+
+                oCN.RunProc(sql);
+            }
+
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+        #endregion
+        #endregion
+
+        #region 宸ヨ祫缁撶畻鍗�(闆嗕綋)-鏌ヨ
+        /// <summary>
+        /// 杩斿洖椤圭洰闃舵鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Pay_GroupBalBill/list")]
+        [HttpGet]
+        public object getGroupBalBill(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (!DBUtility.ClsPub.Security_Log("Pay_GroupBalBillList", 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_Pay_GroupBalBillList order by hmainid desc", "h_v_Pay_GroupBalBillList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Pay_GroupBalBillList where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by hmainid desc";
+                    ds = oCN.RunProcReturn(sql, "h_v_Pay_GroupBalBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                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 宸ヨ祫缁撶畻鍗�(闆嗕綋) 缂栬緫-椤甸潰璧嬪��
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Pay_GroupBalBill/editInit")]
+        [HttpGet]
+        public object getGroupBalBilleditInit(string HInterID, string user)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Pay_GroupBalBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("exec h_p_Pay_GroupBalBill_EditInit " + HInterID, "h_p_Pay_GroupBalBill_EditInit");
+                tableList.Add(ds.Tables[0]);
+                tableList.Add(ds.Tables[1]);
+                tableList.Add(ds.Tables[2]);
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = tableList;
+                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 HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Pay_GroupBalBill/delete")]
+        [HttpGet]
+        public object deleteGroupBalBill(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Pay_GroupBalBill_Delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from Pay_GroupBalBillMain where HInterID = " + HInterID);
+                oCN.RunProc("delete from Pay_GroupBalBillEmp where HInterID='" + HInterID + "'");
+                oCN.RunProc("delete from Pay_GroupBalBillSub where HInterID='" + HInterID + "'");
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                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("Pay_GroupBalBill/AuditPay_GroupBalBill")]
+        [HttpGet]
+        public object AuditPay_GroupBalBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pay_GroupBalBill_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;
+                BillOld.MvarItemKey = "Pay_GroupBalBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (!BillOld.AbandonCheck(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+        #region 宸ヨ祫缁撶畻鍗�(闆嗕綋) 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("Pay_GroupBalBill/ClosePay_GroupBalBill")]
+        [HttpGet]
+        public object ClosePay_GroupBalBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pay_GroupBalBill_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;
+                BillOld.MvarItemKey = "Pay_GroupBalBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+        #region 宸ヨ祫缁撶畻鍗�(闆嗕綋) 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("Pay_GroupBalBill/DropPay_GroupBalBill")]
+        [HttpGet]
+        public object DropPay_SingleBalBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pay_GroupBalBill_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;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Pay_GroupBalBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //浣滃簾鍗曟嵁
+                    if (!BillOld.Cancelltion(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽浣滃簾!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶄綔搴熷崟鎹�
+                    if (!BillOld.AbandonCancelltion(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_OtherBalBillController.cs" "b/WebAPI/Controllers/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_OtherBalBillController.cs"
index a4c0f83..76bf4f8 100644
--- "a/WebAPI/Controllers/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_OtherBalBillController.cs"
+++ "b/WebAPI/Controllers/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_OtherBalBillController.cs"
@@ -7,6 +7,7 @@
 using System.Data.SqlClient;
 using System.Web.Http;
 using WebAPI.Models;
+using Newtonsoft.Json;
 
 namespace WebAPI.Controllers
 {
@@ -19,6 +20,7 @@
         public DataSet ds = new DataSet();
         public WebServer webserver = new WebServer();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
         //DataSet ds;
         public DLL.ClsPay_OtherBalBill BillNew0 = new DLL.ClsPay_OtherBalBill();   // 
         public DLL.ClsPay_OtherBalBill BillOld0 = new DLL.ClsPay_OtherBalBill();   //    
@@ -381,5 +383,330 @@
             }
         }
         //
+
+
+        #region 宸ヨ祫缁撶畻鍗�(鍏跺畠) 瀹℃牳/鍙嶅鏍�
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Pay_OtherBalBill/AuditPay_OtherBalBill")]
+        [HttpGet]
+        public object AuditPay_OtherBalBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pay_OtherBalBill_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;
+                BillOld.MvarItemKey = "Pay_OtherBalBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (!BillOld.AbandonCheck(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+        #region 宸ヨ祫缁撶畻鍗�(鍏跺畠) 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("Pay_OtherBalBill/ClosePay_OtherBalBill")]
+        [HttpGet]
+        public object ClosePay_OtherBalBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pay_OtherBalBill_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;
+                BillOld.MvarItemKey = "Pay_OtherBalBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+        #region 宸ヨ祫缁撶畻鍗�(鍏跺畠) 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("Pay_OtherBalBill/DropPay_OtherBalBill")]
+        [HttpGet]
+        public object DropPay_OtherBalBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pay_OtherBalBill_Delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愪綔搴�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Pay_OtherBalBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //浣滃簾鍗曟嵁
+                    if (!BillOld.Cancelltion(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽浣滃簾!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶄綔搴熷崟鎹�
+                    if (!BillOld.AbandonCancelltion(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_SingleBalBillController.cs" "b/WebAPI/Controllers/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_SingleBalBillController.cs"
index f3f86b5..413dab1 100644
--- "a/WebAPI/Controllers/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_SingleBalBillController.cs"
+++ "b/WebAPI/Controllers/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_SingleBalBillController.cs"
@@ -6,7 +6,9 @@
 using System.Data;
 using System.Data.SqlClient;
 using System.Web.Http;
+using System.Windows.Forms;
 using WebAPI.Models;
+using Newtonsoft.Json;
 
 namespace WebAPI.Controllers
 {
@@ -19,10 +21,11 @@
         public DataSet ds = new DataSet();
         public WebServer webserver = new WebServer();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
-
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
         public DLL.ClsPay_SingleBalBill BillNew0 = new DLL.ClsPay_SingleBalBill();   // 
         public DLL.ClsPay_SingleBalBill BillOld0 = new DLL.ClsPay_SingleBalBill();   //                                                                                         
 
+        #region 宸ヨ祫缁撶畻鍗曚釜浜�-鏌ヨ
         /// <summary>
         /// 杩斿洖宸ヨ祫缁撶畻涓汉鍒楄〃(涓汉)
         ///鍙傛暟锛歴tring sql銆�
@@ -74,7 +77,8 @@
             }
 
         }
-       
+        #endregion
+
         #region[宸ヨ祫缁撶畻涓汉鍗曠紪杈戞椂鑾峰彇琛ㄥご鏁版嵁]
         [Route("Pay_SingleBalBill/Pay_SingleBalBillListCheckDetail")]
         [HttpGet]
@@ -123,6 +127,7 @@
         }
         #endregion
 
+        #region 宸ヨ祫缁撶畻鍗曚釜浜烘柊澧�
         [Route("Pay_SingleBalBill/SaveGetSingleBalBillList")]
         [HttpPost]
        
@@ -319,7 +324,9 @@
                 return objJsonResult;
             }
         }
+        #endregion
 
+        #region 宸ヨ祫缁撶畻鍗曚釜浜哄垹闄�
         /// <summary>
         ///宸ヨ祫缁撶畻涓汉鍗曞垹闄ゅ姛鑳�
         /// </summary>
@@ -358,7 +365,7 @@
                 return objJsonResult;
             }
         }
-
+        #endregion
 
         [Route("Pay_SingleBalBill/getSingleBalBillPrice")]
         [HttpGet]
@@ -414,5 +421,895 @@
             }
         }
         //
+
+
+
+
+        #region 宸ヨ祫缁撶畻鍗曚釜浜�-鏂板
+        #region 琛ㄥご鏁版嵁
+        public class Pay_SingleBalBillMain
+        {
+            public int HInterID;
+            public string HBillNo;
+            public string HDate;
+            public string HInnerBillNo;
+            public int HGroupID;
+            public string HGroupName;
+            public int HDeptID;
+            public string HDeptName;
+            public int HEmpID;
+            public string HEmpName;
+            public int HPayTypeID;
+            public string HPayTypeName;
+            public string HSourceBillType;
+            public int HSourceBillID;
+            public string HSourceBillNo;
+            public string HExplanation;
+            public string HRemark;
+            public string HMaker;
+            public string HMakerDate;
+            public string HUpdater;
+            public string HUpdaterDate;
+            public string HChecker;
+            public string HCheckerDate;
+            public string HCloseMan;
+            public string HCloseManDate;
+            public string HDeleteMan;
+            public string HDeleteManDate;
+            public string HBacker;
+            public string HBackerDate;
+            public string HBackRemark;
+        }
+        #endregion
+        #region 瀛愯〃鏁版嵁
+        public class Pay_SingleBalBillSub
+        {
+            public int RowID;
+            public int HMaterID;
+            public string HMaterNumber;
+            public string HMaterName;
+            public string HMaterModel;
+            public int HProcID;
+            public string HProcNumber;
+            public string HProcName;
+            public int HEmpID;
+            public string HEmpNumber;
+            public string HEmpName;
+            public double HTimes;
+            public double HQty;
+            public double HPrice;
+            public double HPriceRate;
+            public double HSubsidyQty;
+            public double HSubsidyMoney;
+            public double HSubsidyTotal;
+            public double HDeuctTotal;
+            public double HPackQty;
+            public double HPackPrice;
+            public double HPackMoney;
+            public int HPackMaterID;
+            public string HPackMaterName;
+            public double HMoney;
+            public int HICMOInterID;
+            public string HICMOBillNo;
+            public int HProcReportInterID;
+            public int HProcReportEntryID;
+            public string HProcReportBillNo;
+            public int HProcPlanInterID;
+            public int HProcPlanEntryID;
+            public string HProcPlanBillNo;
+            public string HRemark;
+            public int HSourceInterID;
+            public int HSourceEntryID;
+            public string HSourceBillNo;
+            public string HSourceBillType;
+            public double HRelationQty;
+            public double HRelationMoney;
+            public string HCloseMan;
+            public string HEntryCloseDate;
+        }
+        #endregion
+
+        #region 宸ヨ祫缁撶畻鍗�(涓汉) 鏂板/缂栬緫-淇濆瓨
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Pay_SingleBalBillMain/AddBill")]
+        [HttpPost]
+        public object AddBill_Pay_SingleBalBillMain([FromBody] JObject sMainSub)
+        {
+            //鑾峰彇鍙傛暟
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            //寮�濮嬩簨鍔�
+            oCN.BeginTran();
+            //淇濆瓨涓昏〃
+            objJsonResult = AddBillMain_Pay_SingleBalBillMain(msg1);
+            if (objJsonResult.code == "0")
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = objJsonResult.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            oCN.Commit();
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�";
+            objJsonResult.data = ds.Tables[0];
+            return objJsonResult;
+        }
+        #endregion
+        #region 娣诲姞 宸ヨ祫缁撶畻鍗�(涓汉) 涓昏〃
+        public json AddBillMain_Pay_SingleBalBillMain(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+            int OperationType = int.Parse(sArray[2].ToString());//鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[3].ToString();//鐢ㄦ埛鍚�
+            string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О
+            try
+            {
+                if (OperationType == 1)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Pay_SingleBalBill_Edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳柊澧炴潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else if (OperationType == 3)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Pay_SingleBalBill_Edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犵紪杈戞潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                msg2 = "[" + msg2.ToString() + "]";
+                List<Pay_SingleBalBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Pay_SingleBalBillMain>>(msg2);
+
+                int HYear = int.Parse(mainList[0].HDate.Split('-')[0]);
+                int HPeriod = int.Parse(mainList[0].HDate.Split('-')[1]);
+                string HBillType = "2205";
+                string HBillSubType = "";
+                int HBillStatus = 1;
+
+                int HInterID = mainList[0].HInterID;
+                string HBillNo = mainList[0].HBillNo;
+                string HDate = mainList[0].HDate;
+                string HInnerBillNo = mainList[0].HInnerBillNo;
+                int HGroupID = mainList[0].HGroupID;
+                int HDeptID = mainList[0].HDeptID;
+                int HEmpID = mainList[0].HEmpID;
+                int HPayType = mainList[0].HPayTypeID;
+                int HMainSourceInterID = mainList[0].HSourceBillID;
+                string HMainSourceBillNo = mainList[0].HSourceBillNo;
+                string HMainSourceBillType = mainList[0].HSourceBillType;
+                string HExplanation = mainList[0].HExplanation;
+                string HRemark = mainList[0].HRemark;
+                
+                //鍒跺崟銆佷慨鏀�
+                string HMaker = mainList[0].HMaker;
+                string HMakerDate = mainList[0].HMakerDate;
+                string HUpdater = mainList[0].HUpdater;
+                string HUpdaterDate = mainList[0].HUpdaterDate;
+                
+
+                //if (OperationType == 2)
+                //{
+                //    ds = oCN.RunProcReturn("select * from PM_ProjectStageBillMain where HBillNo ='" + HBillNo + "'", "PM_ProjectStageBill");
+                //    if (ds.Tables[0].Rows.Count > 0)
+                //    {
+                //        objJsonResult.code = "0";
+                //        objJsonResult.count = 0;
+                //        objJsonResult.Message = "鍗曟嵁鍙烽噸澶�,璇烽噸鏂拌緭鍏�!";
+                //        objJsonResult.data = null;
+                //        return objJsonResult;
+                //    }
+                //}
+
+                ds = oCN.RunProcReturn("select * from Pay_SingleBalBillMain where HInterID = " + HInterID + " and HBillNo = '" + HBillNo + "'", "Pay_SingleBalBillMain");
+
+                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
+                {
+                    string sql = "insert into Pay_SingleBalBillMain" +
+                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HBillStatus,HGroupID,HDeptID,HEmpID,HPayType,HExplanation,HInnerBillNo,HRemark,HMaker,HMakeDate,HMainSourceInterID,HMainSourceBillNo,HMainSourceBillType) " +
+                        "values(" +
+                        "" + HYear +
+                        "," + HPeriod +
+                        ",'" + HBillType +
+                        "','" + HBillSubType +
+                        "'," + HInterID +
+                        ",'" + HDate +
+                        "','" + HBillNo +
+                        "'," + HBillStatus +
+                        "," + HGroupID +
+                        "," + HDeptID +
+                        "," + HEmpID +
+                        "," + HPayType +
+                        ",'" + HExplanation +
+                        "','" + HInnerBillNo +
+                        "','" + HRemark +
+                        "','" + HMaker +
+                        "','" + HMakerDate +
+                        "'," + HMainSourceInterID +
+                        ",'" + HMainSourceBillNo +
+                        "','" + HMainSourceBillType +
+                        "')";
+
+                    //涓昏〃
+                    oCN.RunProc(sql);
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板宸ヨ祫缁撶畻鍗�(涓汉):" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板宸ヨ祫缁撶畻鍗�(涓汉)锛�" + HBillNo + "','LMES-宸ヨ祫缁撶畻鍗�(涓汉)妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)                    //缂栬緫
+                {
+                    string sql = "update Pay_SingleBalBillMain set " +
+                        "HYear = " + HYear +
+                        ",HPeriod = " + HPeriod +
+                        ",HBillType = '" + HBillType +
+                        "',HBillSubType = '" + HBillSubType +
+                        "',HDate = '" + HDate +
+                        "',HBillNo = '" + HBillNo +
+                        "',HGroupID = " + HGroupID +
+                        ",HDeptID = " + HDeptID +
+                        ",HEmpID = " + HEmpID +
+                        ",HPayType = " + HPayType +
+                        ",HExplanation = '" + HExplanation +
+                        "',HInnerBillNo = '" + HInnerBillNo +
+                        "',HRemark = '" + HRemark +
+                        "',HUPdater = '" + HUpdater +
+                        "',HUpdateDate = '" + HUpdaterDate +
+                        "',HMainSourceInterID = " + HMainSourceInterID +
+                        ",HMainSourceBillNo = '" + HMainSourceBillNo +
+                        "',HMainSourceBillType = '" + HMainSourceBillType +
+                        "' where HInterID = " + HInterID;
+
+                    oCN.RunProc(sql);
+
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("delete from Pay_SingleBalBillSub where HInterID=" + HInterID + "");
+                    //璁板綍鏃ュ織
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼宸ヨ祫缁撶畻鍗�(涓汉):" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼宸ヨ祫缁撶畻鍗�(涓汉)锛�" + HBillNo + "','LMES-宸ヨ祫缁撶畻鍗�(涓汉)妯″潡','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨瀛愯〃
+                objJsonResult = AddBillSub_Pay_SingleBalBillMain(msg3, HInterID, HBillNo, OperationType);
+
+                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 = 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;
+            }
+        }
+        #endregion
+        #region 娣诲姞 宸ヨ祫缁撶畻鍗�(涓汉) 瀛愯〃
+        public json AddBillSub_Pay_SingleBalBillMain(string msg3, long HInterID, string HBillNo, int OperationType)
+        {
+            List<Pay_SingleBalBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Pay_SingleBalBillSub>>(msg3);
+            int i = 0;                                          //浣滀负瀛愯〃鍐呯爜
+            foreach (Pay_SingleBalBillSub oSub in DetailColl)
+            {
+                i++;                                            //鍚屼竴涓富琛ㄤ笅鐨勫瓙琛ㄧ殑鍐呯爜鑷
+
+                int HEntryID = i;
+
+                int HMaterID = oSub.HMaterID;
+                int HProcID = oSub.HProcID;
+                int HEmpID = oSub.HEmpID;
+
+
+                double HTimes = oSub.HTimes;
+                double HQty = oSub.HQty;
+                double HPrice = oSub.HPrice;
+                double HPriceRate = oSub.HPriceRate;
+                double HSubsidyQty = oSub.HSubsidyQty;
+                double HSubsidyMoney = oSub.HSubsidyMoney;
+                double HSubsidyTotal = oSub.HSubsidyTotal;
+                double HDeuctTotal = oSub.HDeuctTotal;
+                double HPackQty = oSub.HPackQty;
+                double HPackPrice = oSub.HPackPrice;
+                double HPackMoney = oSub.HPackMoney;
+                int HPackMaterID = oSub.HPackMaterID;
+                double HMoney = oSub.HMoney;
+
+                int HICMOInterID = oSub.HICMOInterID;
+                string HICMOBillNo = oSub.HICMOBillNo;
+                int HProcReportInterID = oSub.HProcReportInterID;
+                int HProcReportEntryID = oSub.HProcReportEntryID;
+                string HProcReportBillNo = oSub.HProcReportBillNo;
+                int HProcPlanInterID = oSub.HProcPlanInterID;
+                int HProcPlanEntryID = oSub.HProcPlanEntryID;
+                string HProcPlanBillNo = oSub.HProcPlanBillNo;
+
+                string HRemark = oSub.HRemark;
+
+                int HSourceInterID = oSub.HSourceInterID;
+                int HSourceEntryID = oSub.HSourceEntryID;
+                string HSourceBillNo = oSub.HSourceBillNo;
+                string HSourceBillType = oSub.HSourceBillType;
+                double HRelationQty = oSub.HRelationQty;
+                double HRelationMoney = oSub.HRelationMoney;
+                string HCloseMan = oSub.HCloseMan;
+                string HEntryCloseDate = oSub.HEntryCloseDate;
+
+                string sql = "insert into Pay_SingleBalBillSub" +
+                    "(HInterID,HEntryID,HMaterID,HProcID,HEmpID,HTimes,HQty,HPrice,HPriceRate,HSubsidyQty,HSubsidyMoney,HSubsidyTotal,HDeuctTotal" +
+                    ",HPackQty,HPackPrice,HPackMoney,HPackMaterID,HMoney,HICMOInterID,HICMOBillNo,HProcReportInterID,HProcReportEntryID,HProcReportBillNo" +
+                    ",HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
+                    ",HCloseMan,HEntryCloseDate) " +
+                    "values(" +
+                    "" + HInterID +
+                    "," + HEntryID +
+                    "," + HMaterID +
+                    "," + HProcID +
+                    "," + HEmpID +
+                    "," + HTimes +
+                    "," + HQty +
+                    "," + HPrice +
+                    "," + HPriceRate +
+                    "," + HSubsidyQty +
+                    "," + HSubsidyMoney +
+                    "," + HSubsidyTotal +
+                    "," + HDeuctTotal +
+                    "," + HPackQty +
+                    "," + HPackPrice +
+                    "," + HPackMoney +
+                    "," + HPackMaterID +
+                    "," + HMoney +
+                    "," + HICMOInterID +
+                    ",'" + HICMOBillNo +
+                    "'," + HProcReportInterID +
+                    "," + HProcReportEntryID +
+                    ",'" + HProcReportBillNo +
+                    "'," + HProcPlanInterID +
+                    "," + HProcPlanEntryID +
+                    ",'" + HProcPlanBillNo +
+                    "','" + HRemark +
+                    "'," + HSourceInterID +
+                    "," + HSourceEntryID +
+                    ",'" + HSourceBillNo +
+                    "','" + HSourceBillType +
+                    "'," + HRelationQty +
+                    "," + HRelationMoney +
+                    ",'" + HCloseMan +
+                    "','" + HEntryCloseDate +
+                    "')";
+
+                oCN.RunProc(sql);
+            }
+
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+        #endregion
+        #endregion
+
+        #region 宸ヨ祫缁撶畻鍗�(涓汉)-鏌ヨ
+        /// <summary>
+        /// 杩斿洖椤圭洰闃舵鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Pay_SingleBalBill/list")]
+        [HttpGet]
+        public object getSingleBalBill(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (!DBUtility.ClsPub.Security_Log("Pay_SingleBalBillList", 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_Pay_SingleBalBillList order by hmainid desc", "h_v_Pay_SingleBalBillList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Pay_SingleBalBillList where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by hmainid desc";
+                    ds = oCN.RunProcReturn(sql, "h_v_Pay_SingleBalBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                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 宸ヨ祫缁撶畻鍗� 缂栬緫-椤甸潰璧嬪��
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Pay_SingleBalBill/editInit")]
+        [HttpGet]
+        public object getSingleBalBilleditInit(string HInterID, string user)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Pay_SingleBalBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犵紪杈戞潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("exec h_p_Pay_SingleBalBill_EditInit " + HInterID, "h_p_Pay_SingleBalBill_EditInit");
+                tableList.Add(ds.Tables[0]);
+                tableList.Add(ds.Tables[1]);
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = tableList;
+                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 HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Pay_SingleBalBill/delete")]
+        [HttpGet]
+        public object deleteSingleBalBill(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Pay_SingleBalBill_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from Pay_SingleBalBillMain where HInterID = " + HInterID);
+                oCN.RunProc("delete from Pay_SingleBalBillSub where HInterID='" + HInterID + "'");
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                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("Pay_SingleBalBill/AuditPay_SingleBalBill")]
+        [HttpGet]
+        public object AuditPM_ProjectReportBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pay_SingleBalBill_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;
+                BillOld.MvarItemKey = "Pay_SingleBalBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (!BillOld.AbandonCheck(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ヨ祫缁撶畻鍗�(涓汉) 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("Pay_SingleBalBill/ClosePay_SingleBalBill")]
+        [HttpGet]
+        public object ClosePay_SingleBalBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pay_SingleBalBill_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;
+                BillOld.MvarItemKey = "Pay_SingleBalBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ヨ祫缁撶畻鍗�(涓汉) 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("Pay_SingleBalBill/DropPay_SingleBalBill")]
+        [HttpGet]
+        public object DropPay_SingleBalBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pay_SingleBalBill_Delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愪綔搴�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "Pay_SingleBalBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //浣滃簾鍗曟嵁
+                    if (!BillOld.Cancelltion(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽浣滃簾!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶄綔搴熷崟鎹�
+                    if (!BillOld.AbandonCancelltion(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs" "b/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
index be5ee38..1ace6a3 100644
--- "a/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
+++ "b/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
@@ -1452,6 +1452,59 @@
         #endregion
 
 
+        #region 鎵爜妯″潡璋冪敤鏂规硶
+
+        #region 浠庣紦瀛樺垪琛ㄩ〉闈㈣繑鍥炰俊鎭�
+
+        /// <summary>
+        /// 浠庣紦瀛樺垪琛ㄩ〉闈㈣繑鍥炰俊鎭�
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/GetSourceBill_Temp_Json")]
+        [HttpGet]
+        public object GetSourceBill_Temp_Json(Int64 HInterID, string HBillType)
+        {
+            try
+            {
+                ds = oCn.RunProcReturn("exec h_p_WMS_SourceBill_Temp " + HInterID.ToString() + ",'" + HBillType + "'", "h_p_WMS_SourceBill_Temp");
+                if (ds == null)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "浠庣紦瀛樺垪琛ㄨ繑鍥炴椂锛屾病鏈夎繑鍥炰换浣曡褰曪紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    List<object> columnNameList = new List<object>();
+                    //娣诲姞鍒楀悕
+                    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 = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "杩斿洖缂撳瓨鍒楄〃鍗曟嵁淇℃伅澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
         #region 鍗曟嵁鏂板妯″潡  鑾峰彇鍗曟嵁鍒楄〃淇℃伅澶勭悊鏂规硶
 
         /// <summary>
@@ -1511,6 +1564,8 @@
                 return objJsonResult;
             }
         }
+
+        #endregion
 
         #endregion
 
@@ -2680,5 +2735,97 @@
         #endregion
 
 
+
+
+
+
+        #region 鎶ヨ〃鏁版嵁鑾峰彇鏂规硶
+
+        #region 鏉$爜鍑哄叆搴撹褰曟姤琛�
+
+        #region 鑾峰彇鍗曟嵁绫诲瀷淇℃伅
+        /// <summary>
+        /// 鑾峰彇鍗曟嵁绫诲瀷淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/GetBarCodeReport_BillType_Json")]
+        [HttpGet]
+        public object GetBarCodeReport_BillType_Json()
+        {
+            try
+            {
+                ds = oCn.RunProcReturn("exec h_p_WMS_BarCodeReport_BillType ", "h_p_WMS_BarCodeReport_BillType");
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎴愬姛锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鑾峰彇鍗曟嵁绫诲瀷淇℃伅澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鑾峰彇鏉$爜鍑哄叆搴撹褰�
+        /// <summary>
+        /// 鑾峰彇鏉$爜鍑哄叆搴撹褰�
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/GetKf_BarCodeOutInReport_Json")]
+        [HttpGet]
+        public object GetKf_BarCodeOutInReport_Json(string sWhere)
+        {
+            try
+            {
+                ds = oCn.RunProcReturn("exec h_p_Kf_BarCodeOutInReport_New " + sWhere, "h_p_Kf_BarCodeOutInReport_New");
+                if (ds == null)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "褰撳墠鎵�杈撳叆杩囨护鏉′欢锛屾病鏈夎繑鍥炰换浣曠粨鏋滐紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    List<object> columnNameList = new List<object>();
+                    //娣诲姞鍒楀悕
+                    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 = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏌ヨ鏉$爜鍑哄叆搴撹褰曚俊鎭け璐ワ紒" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #endregion
+
+
+        #endregion
+
+
     }
 }
diff --git "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs" "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
index 41cadcd..e09ae6e 100644
--- "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
+++ "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
@@ -1146,13 +1146,13 @@
         #region 鐢熶骇浠诲姟鍗曡幏鍙栬溅闂�
         [Route("Sc_ICMOBill/GetHDeptList")]
         [HttpGet]
-        public object GetHDeptList()
+        public object GetHDeptList(string HOrgID)
         {
             try
             {
                 DataSet oDs = new DataSet();
                 //==========
-                oDs = oCN.RunProcReturn("select HItemID,HName from Gy_Department", "Gy_Department");
+                oDs = oCN.RunProcReturn("select HItemID,HName from Gy_Department where HUSEORGID="+ HOrgID, "Gy_Department");
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "鑾峰彇鎴愬姛锛�";
diff --git "a/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\344\270\232\347\273\251\346\214\207\346\240\207/PM_YearEmployeeMoneyBillController.cs" "b/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\344\270\232\347\273\251\346\214\207\346\240\207/PM_YearEmployeeMoneyBillController.cs"
new file mode 100644
index 0000000..b0e141c
--- /dev/null
+++ "b/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\344\270\232\347\273\251\346\214\207\346\240\207/PM_YearEmployeeMoneyBillController.cs"
@@ -0,0 +1,754 @@
+锘縰sing DBUtility;
+using Model;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.Http;
+using System.Windows.Forms;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers.椤圭洰绠$悊.涓氱哗鎸囨爣
+{
+    public class PM_YearEmployeeMoneyBillController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
+        string user_LongShan = "";
+        string HName_LongShan = "";
+
+        #region 涓氱哗鎸囨爣鍗� 鏂板/缂栬緫
+        #region 涓氱哗鎸囨爣鍗� 琛ㄥご鏁版嵁
+        public class PM_YearEmployeeMoneyBill_Main
+        {
+            public int HInterID;
+            public string HBillNo;
+            public string HDate;
+            public int HEmpID;
+            public string HEmpName;
+            public double HSumMoney;
+            public double HRate1;
+            public double HRate2;
+            public double HRate3;
+            public double HRate4;
+            public string HRemark;
+            public string HRemarkSub;
+            public int HOrgID;
+            public string HMaker;
+            public string HUpdater;
+            public string HChecker;
+            public string HMakerDate;
+            public string HUpdaterDate;
+            public string HCheckerDate;
+            public string HCloseMan;
+            public string HDeleteMan;
+            public string HBacker;
+            public string HCloseManDate;
+            public string HDeleteManDate;
+            public string HBackerDate;
+            public string HBackRemark;
+        }
+        #endregion
+
+        #region 涓氱哗鎸囨爣鍗� 鏂板/缂栬緫
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_YearEmployeeMoneyBill/AddBill")]
+        [HttpPost]
+        public object AddBill_YearEmployeeMoneyBill([FromBody] JObject sMainSub)
+        {
+            //鑾峰彇鍙傛暟
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            //寮�濮嬩簨鍔�
+            oCN.BeginTran();
+            //淇濆瓨涓昏〃
+            objJsonResult = AddBillMain_YearEmployeeMoneyBill(msg1);
+            if (objJsonResult.code == "0")
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = objJsonResult.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            oCN.Commit();
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�";
+            objJsonResult.data = ds.Tables[0];
+            return objJsonResult;
+        }
+        #endregion
+        #region 娣诲姞 涓氱哗鎸囨爣鍗� 涓昏〃
+        public json AddBillMain_YearEmployeeMoneyBill(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            int OperationType = int.Parse(sArray[1].ToString());//鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[2].ToString();//鐢ㄦ埛鍚�
+            string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О
+            user_LongShan = sArray[2].ToString();//鐢ㄦ埛鍚�
+
+            try
+            {
+                if(OperationType == 1)
+                {
+                    //鍒ゆ柇鏄惁鏈夋柊澧炴潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Pm_YearEmployeeMoneyBill_add", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳柊澧炴潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else if(OperationType == 3)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Pm_YearEmployeeMoneyBill_edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犵紪杈戞潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                
+                msg2 = "[" + msg2.ToString() + "]";
+                List<PM_YearEmployeeMoneyBill_Main> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PM_YearEmployeeMoneyBill_Main>>(msg2);
+
+                int HYear = int.Parse(mainList[0].HDate.Split('-')[0]);
+                int HPeriod = int.Parse(mainList[0].HDate.Split('-')[1]);
+                string HBillType = "4753";
+                string HBillSubType = "";
+
+                int HInterID = mainList[0].HInterID;
+                string HBillNo = mainList[0].HBillNo;
+                string HDate = mainList[0].HDate;
+                int HEmpID = mainList[0].HEmpID;
+                double HSumMoney = mainList[0].HSumMoney;
+                string HRemark = mainList[0].HRemark;
+                int HOrgID = mainList[0].HOrgID;
+
+                string HMaker = mainList[0].HMaker;
+                string HUpdater = mainList[0].HUpdater;
+                string HChecker = mainList[0].HChecker;
+                string HMakerDate = mainList[0].HMakerDate;
+                string HUpdaterDate = mainList[0].HUpdaterDate;
+                string HCheckerDate = mainList[0].HCheckerDate;
+                string HCloseMan = mainList[0].HCloseMan;
+                string HDeleteMan = mainList[0].HDeleteMan;
+                string HBacker = mainList[0].HBacker;
+                string HCloseManDate = mainList[0].HCloseManDate;
+                string HDeleteManDate = mainList[0].HDeleteManDate;
+                string HBackerDate = mainList[0].HBackerDate;
+                string HBackRemark = mainList[0].HBackRemark;
+
+
+                if (OperationType == 2)
+                {
+                    ds = oCN.RunProcReturn("select * from PM_YearEmployeeMoneyBillMain where HBillNo ='" + HBillNo + "'", "PM_YearEmployeeMoneyBillMain");
+                    if (ds.Tables[0].Rows.Count > 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶�,璇烽噸鏂拌緭鍏�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                ds = oCN.RunProcReturn("select * from PM_YearEmployeeMoneyBillMain where HInterID = " + HInterID + " and HBillNo = '" + HBillNo + "'", "PM_YearEmployeeMoneyBillMain");
+
+                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
+                {
+                    string sql = "insert into PM_YearEmployeeMoneyBillMain" +
+                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HBillNo,HDate,HEmpID,HSumMoney,HRemark,HOrgID,HMaker,HMakeDate)" +
+                        "values(" +
+                        "" + HYear +
+                        "," + HPeriod +
+                        ",'" + HBillType +
+                        "','" + HBillSubType +
+                        "'," + HInterID +
+                        ",'" + HBillNo +
+                        "','" + HDate +
+                        "'," + HEmpID + 
+                        "," + HSumMoney +
+                        ",'" + HRemark + 
+                        "'," + HOrgID +
+                        ",'" + HMaker +
+                        "','" + HMakerDate +
+                        "')";
+
+                    //涓昏〃
+                    oCN.RunProc(sql);
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板涓氱哗鎸囨爣鍗�:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板涓氱哗鎸囨爣鍗曪細" + HBillNo + "','LMES-涓氱哗鎸囨爣妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)                    //缂栬緫
+                {
+                    string sql = "update PM_YearEmployeeMoneyBillMain set " +
+                        "HYear = " + HYear +
+                        ",HPeriod = " + HPeriod +
+                        ",HBillType = '" + HBillType +
+                        "',HBillSubType = '" + HBillSubType +
+                        "',HBillNo = '" + HBillNo +
+                        "',HDate = '" + HDate +
+                        "',HEmpID = " + HEmpID +
+                        ",HSumMoney = " + HSumMoney +
+                        ",HRemark = '" + HRemark +
+                        "',HOrgID = " + HOrgID +
+                        ",HUpdater = '" + HUpdater +
+                        "',HUpdateDate = '" + HUpdaterDate +
+                        "' where HInterID = " + HInterID;
+
+                    oCN.RunProc(sql);
+
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("delete from PM_YearEmployeeMoneyBillSub where HInterID='" + HInterID + "'");
+                    //璁板綍鏃ュ織
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼宸ヤ綔浠诲姟:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼宸ヤ綔浠诲姟锛�" + HBillNo + "','LMES-宸ヤ綔浠诲姟妯″潡','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+
+                //鑾峰彇瀛愯〃鏁版嵁骞舵彃鍏ュ瓙琛�
+                string HRemarkSub = mainList[0].HRemarkSub;
+                double HRate1 = mainList[0].HRate1;
+                double HRate2 = mainList[0].HRate2;
+                double HRate3 = mainList[0].HRate3;
+                double HRate4 = mainList[0].HRate4;
+
+                string sql1 = "insert into PM_YearEmployeeMoneyBillSub" +
+                "(HInterID,HEntryID,HBillNo_bak,HRemark,HRate1,HRate2,HRate3,HRate4) " +
+                "values(" +
+                "" + HInterID +
+                "," + 1 +
+                ",'" + HBillNo +
+                "','" + HRemarkSub +
+                "'," + HRate1 +
+                "," + HRate2 +
+                "," + HRate3 +
+                "," + HRate4 +
+                ")";
+                oCN.RunProc(sql1);
+
+                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;
+            }
+        }
+        #endregion
+        #endregion
+
+        #region 涓氱哗鎸囨爣鍗曞垪琛� 鏌ヨ
+        /// <summary>
+        /// 杩斿洖涓氱哗鎸囨爣鍗曞垪琛�
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_YearEmployeeMoneyBill/list")]
+        [HttpGet]
+        public object getYearEmployeeMoneyBill(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Gy_ProjectStage_Query", 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_PM_YearEmployeeMoneyBillList order by 鍗曟嵁鍙� ", "h_v_PM_YearEmployeeMoneyBillList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_PM_YearEmployeeMoneyBillList where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� ";
+                    ds = oCN.RunProcReturn(sql, "h_v_PM_YearEmployeeMoneyBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                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 涓氱哗鎸囨爣鍗� 缂栬緫-椤甸潰璧嬪��
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_YearEmployeeMoneyBill/editInit")]
+        [HttpGet]
+        public object getYearEmployeeMoneyBilleditInit(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Pm_YearEmployeeMoneyBill_edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if(HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("exec h_p_PM_YearEmployeeMoneyBill_EditInit " + HInterID, "h_p_PM_YearEmployeeMoneyBill_EditInit");
+
+                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 涓氱哗鎸囨爣鍗� 鍒犻櫎
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_YearEmployeeMoneyBill/delete")]
+        [HttpGet]
+        public object deleteYearEmployeeMoneyBill(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Pm_YearEmployeeMoneyBill_delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if(HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from PM_YearEmployeeMoneyBillMain where HInterID = " + HInterID);
+                oCN.RunProc("delete from PM_YearEmployeeMoneyBillSub where HInterID='" + HInterID + "'");
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                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("PM_YearEmployeeMoneyBill/AuditPM_YearEmployeeMoneyBill")]
+        [HttpGet]
+        public object AuditPM_YearEmployeeMoneyBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_YearEmployeeMoneyBill_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;
+                BillOld.MvarItemKey = "PM_YearEmployeeMoneyBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (!BillOld.AbandonCheck(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 涓氱哗鎸囨爣鍗� 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("PM_YearEmployeeMoneyBill/ClosePM_YearEmployeeMoneyBill")]
+        [HttpGet]
+        public object ClosePM_YearEmployeeMoneyBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_YearEmployeeMoneyBill_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;
+                BillOld.MvarItemKey = "PM_YearEmployeeMoneyBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 涓氱哗鎸囨爣鍗� 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("PM_YearEmployeeMoneyBill/DropPM_YearEmployeeMoneyBill")]
+        [HttpGet]
+        public object DropPM_YearEmployeeMoneyBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_YearEmployeeMoneyBill_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;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "PM_YearEmployeeMoneyBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //浣滃簾鍗曟嵁
+                    if (!BillOld.Cancelltion(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽浣滃簾!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶄綔搴熷崟鎹�
+                    if (!BillOld.AbandonCancelltion(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+    }
+}
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\344\275\234\344\273\273\345\212\241/PM_WorkTaskBillController.cs" "b/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\344\275\234\344\273\273\345\212\241/PM_WorkTaskBillController.cs"
new file mode 100644
index 0000000..041f22e
--- /dev/null
+++ "b/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\344\275\234\344\273\273\345\212\241/PM_WorkTaskBillController.cs"
@@ -0,0 +1,1649 @@
+锘縰sing DBUtility;
+using Model;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.Http;
+using System.Windows.Forms;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers.椤圭洰绠$悊.宸ヤ綔浠诲姟
+{
+    public class PM_WorkTaskBillController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
+        string user_LongShan = "";
+        string HName_LongShan = "";
+
+        #region 宸ヤ綔浠诲姟 鏂板/缂栬緫
+        #region 宸ヤ綔浠诲姟 琛ㄥご鏁版嵁
+        public class PM_WorkTaskBill_Main
+        {
+            public int HInterID;
+            public string HBillNo;
+            public string HProNumber;
+            public string HProName;
+            public int HProjectStageID;
+            public string HProjectStageName;
+            public string HName;
+            public string HDate;
+            public string HTaskNote;
+            public double HPlanTimes;
+            public double HSelfTimes;
+            public string HLastDate;
+            public string HSendEmp;
+            public string HReceiveEmp;
+            public string HType;
+            public string HCopyEmp;
+            public string HRemark;
+            public int HOrgID;
+            public string HMaker;
+            public string HUpdater;
+            public string HChecker;
+            public string HMakerDate;
+            public string HUpdaterDate;
+            public string HCheckerDate;
+            public string HCloseMan;
+            public string HDeleteMan;
+            public string HBacker;
+            public string HCloseManDate;
+            public string HDeleteManDate;
+            public string HBackerDate;
+            public string HBackRemark;
+        }
+        #endregion
+
+        #region 宸ヤ綔浠诲姟 鏂板/缂栬緫
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_WorkTaskBill/AddBill")]
+        [HttpPost]
+        public object AddBill([FromBody] JObject sMainSub)
+        {
+            //鑾峰彇鍙傛暟
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            //寮�濮嬩簨鍔�
+            oCN.BeginTran();
+            //淇濆瓨涓昏〃
+            objJsonResult = AddBillMain(msg1);
+            if (objJsonResult.code == "0")
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = objJsonResult.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            oCN.Commit();
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�";
+            objJsonResult.data = ds.Tables[0];
+            return objJsonResult;
+        }
+        #endregion
+        #region 娣诲姞 宸ヤ綔浠诲姟 涓昏〃
+        public json AddBillMain(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            int OperationType = int.Parse(sArray[1].ToString());//鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[2].ToString();//鐢ㄦ埛鍚�
+            string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О
+            user_LongShan = sArray[2].ToString();//鐢ㄦ埛鍚�
+
+            try
+            {
+                if(OperationType == 1)
+                {
+                    //鍒ゆ柇鏄惁鏈夋柊澧炴潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Pm_WorkTaskBill_add", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳柊澧炴潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else if(OperationType == 3)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Pm_WorkTaskBill_edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犵紪杈戞潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                
+                msg2 = "[" + msg2.ToString() + "]";
+                List<PM_WorkTaskBill_Main> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PM_WorkTaskBill_Main>>(msg2);
+
+                int HYear = int.Parse(mainList[0].HDate.Split('-')[0]);
+                int HPeriod = int.Parse(mainList[0].HDate.Split('-')[1]);
+                string HBillType = "4753";
+                string HBillSubType = "";
+                int HInterID = mainList[0].HInterID;
+                string HBillNo = mainList[0].HBillNo;
+                string HProNumber = mainList[0].HProNumber;
+                string HProName = mainList[0].HProName;
+                int HProjectStageID = mainList[0].HProjectStageID;
+                string HProjectStageName = mainList[0].HProjectStageName;
+                string HName = mainList[0].HName;
+                string HDate = mainList[0].HDate;
+                string HTaskNote = mainList[0].HTaskNote;
+                double HPlanTimes = mainList[0].HPlanTimes;
+                double HSelfTimes = mainList[0].HSelfTimes;
+                string HLastDate = mainList[0].HLastDate;
+                string HSendEmp = mainList[0].HSendEmp;
+                string HReceiveEmp = mainList[0].HReceiveEmp;
+                string HType = mainList[0].HType;
+                string HCopyEmp = mainList[0].HCopyEmp;
+                string HRemark = mainList[0].HRemark;
+                int HOrgID = mainList[0].HOrgID;
+                string HMaker = mainList[0].HMaker;
+                string HUpdater = mainList[0].HUpdater;
+                string HChecker = mainList[0].HChecker;
+                string HMakerDate = mainList[0].HMakerDate;
+                string HUpdaterDate = mainList[0].HUpdaterDate;
+                string HCheckerDate = mainList[0].HCheckerDate;
+                string HCloseMan = mainList[0].HCloseMan;
+                string HDeleteMan = mainList[0].HDeleteMan;
+                string HBacker = mainList[0].HBacker;
+                string HCloseManDate = mainList[0].HCloseManDate;
+                string HDeleteManDate = mainList[0].HDeleteManDate;
+                string HBackerDate = mainList[0].HBackerDate;
+                string HBackRemark = mainList[0].HBackRemark;
+
+
+                if (OperationType == 2)
+                {
+                    ds = oCN.RunProcReturn("select * from PM_WorkTaskBillMain where HBillNo ='" + HBillNo + "'", "PM_WorkTaskBillMain");
+                    if (ds.Tables[0].Rows.Count > 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶�,璇烽噸鏂拌緭鍏�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                ds = oCN.RunProcReturn("select * from PM_WorkTaskBillMain where HInterID = " + HInterID + " and HBillNo = '" + HBillNo + "'", "PM_WorkTaskBill");
+
+                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
+                {
+                    string sql = "insert into PM_WorkTaskBillMain" +
+                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HBillNo,HProNumber,HProjectStageID,HName,HDate,HTaskNote,HPlanTimes" +
+                        ",HSelfTimes,HLastDate,HSendEmp,HReceiveEmp,HType,HCopyEmp,HRemark,HOrgID,HMaker,HMakeDate)" +
+                        "values(" +
+                        "" + HYear +
+                        "," + HPeriod +
+                        ",'" + HBillType +
+                        "','" + HBillSubType +
+                        "'," + HInterID +
+                        ",'" + HBillNo +
+                        "','" + HProNumber +
+                        "'," + HProjectStageID +
+                        ",'" + HName +
+                        "','" + HDate +
+                        "','" + HTaskNote +
+                        "'," + HPlanTimes +
+                        "," + HSelfTimes +
+                        ",'" + HLastDate +
+                        "','" + HSendEmp +
+                        "','" + HReceiveEmp +
+                        "','" + HType +
+                        "','" + HCopyEmp +
+                        "','" + HRemark + 
+                        "'," + HOrgID +
+                        ",'" + HMaker +
+                        "','" + HMakerDate +
+                        "')";
+
+                    //涓昏〃
+                    oCN.RunProc(sql);
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板宸ヤ綔浠诲姟:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板宸ヤ綔浠诲姟锛�" + HBillNo + "','LMES-宸ヤ綔浠诲姟妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)                    //缂栬緫
+                {
+                    string sql = "update PM_WorkTaskBillMain set " +
+                        "HYear = " + HYear +
+                        ",HPeriod = " + HPeriod +
+                        ",HBillType = '" + HBillType +
+                        "',HBillSubType = '" + HBillSubType +
+                        "',HBillNo = '" + HBillNo +
+                        "',HProNumber = '" + HProNumber +
+                        "',HProjectStageID = " + HProjectStageID +
+                        ",HName = '" + HName +
+                        "',HDate = '" + HDate +
+                        "',HTaskNote = '" + HTaskNote +
+                        "',HPlanTimes = " + HPlanTimes +
+                        ",HSelfTimes = " + HSelfTimes +
+                        ",HLastDate = '" + HLastDate +
+                        "',HSendEmp = '" + HSendEmp +
+                        "',HReceiveEmp = '" + HReceiveEmp +
+                        "',HType = '" + HType +
+                        "',HCopyEmp = '" + HCopyEmp +
+                        "',HRemark = '" + HRemark +
+                        "',HOrgID = " + HOrgID +
+                        ",HUpdater = '" + HUpdater +
+                        "',HUpdateDate = '" + HUpdaterDate +
+                        "' where HInterID = " + HInterID;
+
+                    oCN.RunProc(sql);
+
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("delete from PM_WorkTaskBillSub where HInterID='" + HInterID + "'");
+                    //璁板綍鏃ュ織
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼宸ヤ綔浠诲姟:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼宸ヤ綔浠诲姟锛�" + HBillNo + "','LMES-宸ヤ綔浠诲姟妯″潡','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨瀛愯〃
+                objJsonResult = AddBillSub(HInterID, HBillNo, OperationType);
+
+                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 = 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;
+            }
+        }
+        #endregion
+
+        #region 娣诲姞宸ヤ綔浠诲姟 瀛愯〃
+        public json AddBillSub(long HInterID, string HBillNo, int OperationType)
+        {
+            string sql = "insert into PM_WorkTaskBillSub" +
+                "(HInterID,HEntryID,HBillNo_bak,HRemark) " +
+                "values(" +
+                "" + HInterID +
+                "," + 1 +
+                ",'" + HBillNo +
+                "','" + "" +
+                "')";
+
+            oCN.RunProc(sql);
+
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+        #endregion
+        #endregion
+
+        #region 宸ヤ綔浠诲姟鍒楄〃 鏌ヨ
+        /// <summary>
+        /// 杩斿洖椤圭洰闃舵鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_WorkTaskBill/list")]
+        [HttpGet]
+        public object getWorkTaskBill(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Gy_ProjectStage_Query", 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_PM_WorkTaskBillList order by 鍗曟嵁鍙� ", "h_v_PM_WorkTaskBillList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_PM_WorkTaskBillList where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� ";
+                    ds = oCN.RunProcReturn(sql, "h_v_PM_WorkTaskBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                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 宸ヤ綔浠诲姟 缂栬緫-椤甸潰璧嬪��
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_WorkTaskBill/editInit")]
+        [HttpGet]
+        public object getWorkTaskBilleditInit(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Pm_WorkTaskBill_edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if(HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("exec h_p_PM_WorkTaskBill_EditInit " + HInterID, "h_p_PM_WorkTaskBill_EditInit");
+
+                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 宸ヤ綔浠诲姟 鍒犻櫎
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_WorkTaskBill/delete")]
+        [HttpGet]
+        public object deleteWorkTaskBill(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Pm_WorkTaskBill_delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if(HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from PM_WorkTaskBillMain where HInterID = " + HInterID);
+                oCN.RunProc("delete from PM_WorkTaskBillSub where HInterID='" + HInterID + "'");
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                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("PM_WorkTaskBill/AuditPM_WorkTaskBill")]
+        [HttpGet]
+        public object AuditPM_WorkTaskBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_WorkTaskBill_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;
+                BillOld.MvarItemKey = "PM_WorkTaskBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (!BillOld.AbandonCheck(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ヤ綔浠诲姟 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("PM_WorkTaskBill/ClosePM_WorkTaskBill")]
+        [HttpGet]
+        public object ClosePM_WorkTaskBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_WorkTaskBill_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;
+                BillOld.MvarItemKey = "PM_WorkTaskBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ヤ綔浠诲姟 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("PM_WorkTaskBill/DropPM_WorkTaskBill")]
+        [HttpGet]
+        public object DropPM_WorkTaskBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_WorkTaskBill_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;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "PM_WorkTaskBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //浣滃簾鍗曟嵁
+                    if (!BillOld.Cancelltion(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽浣滃簾!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶄綔搴熷崟鎹�
+                    if (!BillOld.AbandonCancelltion(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浠诲姟姹囨姤 鏂板/缂栬緫-淇濆瓨
+        #region 浠诲姟姹囨姤 琛ㄥご鏁版嵁
+        public class PM_WorkTaskReportBill_Main
+        {
+            public int HInterID;
+            public int HProID;
+            public int HProjectStageID;
+            public string HMainSourceBillNo;
+            public string HMainSourceBillType;
+            public string HBillNo;
+            public string HDate;
+            public string HRemark;
+            public int HOrgID;
+            public string HMaker;
+            public string HUpdater;
+            public string HChecker;
+            public string HMakerDate;
+            public string HUpdaterDate;
+            public string HCheckerDate;
+            public string HCloseMan;
+            public string HDeleteMan;
+            public string HBacker;
+            public string HCloseManDate;
+            public string HDeleteManDate;
+            public string HBackerDate;
+            public string HBackRemark;
+            public int HReportEmpID;
+            public string HReportEmpName;
+        }
+        #endregion
+        #region 浠诲姟姹囨姤 瀛愯〃鏁版嵁
+        public class PM_WorkTaskReportBill_Sub
+        {
+            public int RowID;
+            public string HProNumber;
+            public int HProjectStageID;
+            public string HProjectStageName;
+            public string HName;
+            public string HTaskNote;
+            public string HType;
+            public double HRelTimes;
+            public string HReportNote;
+            public string HAdv;
+            public string HRemarkSub;
+        }
+        #endregion
+        #region 椤圭洰闃舵娓呭崟 鏂板/缂栬緫-淇濆瓨
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_WorkTaskReportBill/AddBill")]
+        [HttpPost]
+        public object AddBill_WorkTaskReportBill([FromBody] JObject sMainSub)
+        {
+            //鑾峰彇鍙傛暟
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            //寮�濮嬩簨鍔�
+            oCN.BeginTran();
+            //淇濆瓨涓昏〃
+            objJsonResult = AddBillMain_WorkTaskReportBill(msg1);
+            if (objJsonResult.code == "0")
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = objJsonResult.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            oCN.Commit();
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�";
+            objJsonResult.data = ds.Tables[0];
+            return objJsonResult;
+        }
+        #endregion
+        #region 娣诲姞 椤圭洰闃舵娓呭崟 涓昏〃
+        public json AddBillMain_WorkTaskReportBill(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+            int OperationType = int.Parse(sArray[2].ToString());//鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[3].ToString();//鐢ㄦ埛鍚�
+            string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О
+            user_LongShan = sArray[3].ToString();//鐢ㄦ埛鍚�
+
+            try
+            {
+                if (OperationType == 1)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Pm_WorkTaskReportBill_add", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳柊澧炴潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else if (OperationType == 3)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Pm_WorkTaskReportBill_edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犵紪杈戞潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                msg2 = "[" + msg2.ToString() + "]";
+                List<PM_WorkTaskReportBill_Main> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PM_WorkTaskReportBill_Main>>(msg2);
+
+                int HYear = int.Parse(mainList[0].HDate.Split('-')[0]);
+                int HPeriod = int.Parse(mainList[0].HDate.Split('-')[1]);
+                string HBillType = "4754";
+                string HBillSubType = "";
+                int HBillStatus = 1;
+                int HInterID = mainList[0].HInterID;
+                int HProID = mainList[0].HProID;
+                int HProjectStageID = mainList[0].HProjectStageID;
+                string HMainSourceBillNo = mainList[0].HMainSourceBillNo;
+                string HMainSourceBillType = mainList[0].HMainSourceBillType;
+                string HBillNo = mainList[0].HBillNo;
+                string HDate = mainList[0].HDate;
+                string HRemark = mainList[0].HRemark;
+                int HOrgID = mainList[0].HOrgID;
+                string HMaker = mainList[0].HMaker;
+                string HMakerDate = mainList[0].HMakerDate;
+                int HReportEmpID = mainList[0].HReportEmpID;
+                string HReportEmpName = mainList[0].HReportEmpName;
+                string HUpdater = mainList[0].HUpdater;
+                string HUpdaterDate = mainList[0].HUpdaterDate;
+
+
+
+                if (OperationType == 2)
+                {
+                    ds = oCN.RunProcReturn("select * from PM_WorkTaskReportBillMain where HBillNo ='" + HBillNo + "'", "PM_WorkTaskReportBillMain");
+                    if (ds.Tables[0].Rows.Count > 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶�,璇烽噸鏂拌緭鍏�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                ds = oCN.RunProcReturn("select * from PM_WorkTaskReportBillMain where HInterID = " + HInterID + " and HBillNo = '" + HBillNo + "'", "PM_WorkTaskReportBillMain");
+
+                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
+                {
+                    string sql = "insert into PM_WorkTaskReportBillMain" +
+                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HBillStatus,HRemark,HMaker,HMakeDate,HOrgID,HReportEmpID) " +
+                        "values(" +
+                        "" + HYear +
+                        "," + HPeriod +
+                        ",'" + HBillType +
+                        "','" + HBillSubType +
+                        "'," + HInterID +
+                        ",'" + HDate +
+                        "','" + HBillNo +
+                        "'," + HBillStatus +
+                        ",'" + HRemark +
+                        "','" + HMaker +
+                        "','" + HMakerDate +
+                        "'," + HOrgID +
+                        "," + HReportEmpID +
+                        ")";
+
+                    //涓昏〃
+                    oCN.RunProc(sql);
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板浠诲姟姹囨姤:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板浠诲姟姹囨姤锛�" + HBillNo + "','LMES-浠诲姟姹囨姤妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)                    //缂栬緫
+                {
+                    string sql = "update PM_WorkTaskReportBillMain set " +
+                        "HYear = " + HYear +
+                        ",HPeriod = " + HPeriod +
+                        ",HBillType = '" + HBillType +
+                        "',HBillSubType = '" + HBillSubType +
+                        "',HDate = '" + HDate +
+                        "',HBillNo = '" + HBillNo +
+                        "',HBillStatus = " + HBillStatus +
+                        ",HRemark = '" + HRemark +
+                        "',HUpdater = '" + HUpdater +
+                        "',HUpdateDate = '" + HUpdaterDate +
+                        "',HOrgID = " + HOrgID +
+                        ",HReportEmpID = " + HReportEmpID +
+                        " where HInterID = " + HInterID;
+
+                    oCN.RunProc(sql);
+
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("delete from PM_WorkTaskReportBillSub where HInterID='" + HInterID + "'");
+                    //璁板綍鏃ュ織
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼椤圭洰闃舵娓呭崟:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼椤圭洰闃舵娓呭崟锛�" + HBillNo + "','LMES-椤圭洰闃舵娓呭崟妯″潡','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }else if(OperationType == 4 && ds.Tables[0].Rows.Count == 0)        //涓嬫帹
+                {
+                    string sql = "insert into PM_WorkTaskReportBillMain" +
+                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HBillStatus,HRemark,HMaker,HMakeDate,HOrgID,HReportEmpID,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillType,HMainSourceBillNo) " +
+                        "values(" +
+                        "" + HYear +
+                        "," + HPeriod +
+                        ",'" + HBillType +
+                        "','" + HBillSubType +
+                        "'," + HInterID +
+                        ",'" + HDate +
+                        "','" + HBillNo +
+                        "'," + HBillStatus +
+                        ",'" + HRemark +
+                        "','" + HMaker +
+                        "','" + HMakerDate +
+                        "'," + HOrgID +
+                        "," + HReportEmpID +
+                        "," + HProID +
+                        "," + HProjectStageID +
+                        ",'" + HMainSourceBillType +
+                        "','" + HMainSourceBillNo +
+                        "')";
+
+                    //涓昏〃
+                    oCN.RunProc(sql);
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板浠诲姟姹囨姤:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板浠诲姟姹囨姤锛�" + HBillNo + "','LMES-浠诲姟姹囨姤妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨瀛愯〃
+                objJsonResult = AddBillSub_WorkTaskReportBill(msg3, HInterID, HBillNo, OperationType, HProID, HProjectStageID, HMainSourceBillType, HMainSourceBillNo);
+
+                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 = 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;
+            }
+        }
+        #endregion
+        #region 娣诲姞椤圭洰闃舵娓呭崟 瀛愯〃
+        public json AddBillSub_WorkTaskReportBill(string msg3, long HInterID, string HBillNo, int OperationType, int HSourceInterID, int HSourceEntryID, string HSourceBillType, string HSourceBillNo)
+        {
+            List<PM_WorkTaskReportBill_Sub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PM_WorkTaskReportBill_Sub>>(msg3);
+            int i = 0;                                          //浣滀负瀛愯〃鍐呯爜
+            if(OperationType == 4) {
+                foreach (PM_WorkTaskReportBill_Sub oSub in DetailColl)
+                {
+                    i++;                                            //鍚屼竴涓富琛ㄤ笅鐨勫瓙琛ㄧ殑鍐呯爜鑷
+
+                    int HEntryID = i;
+                    string HProNumber = oSub.HProNumber;
+                    int HProjectStageID = oSub.HProjectStageID;
+                    string HName = oSub.HName;
+                    string HTaskNote = oSub.HTaskNote;
+                    string HType = oSub.HType;
+                    double HRelTimes = oSub.HRelTimes;
+                    string HReportNote = oSub.HReportNote;
+                    string HAdv = oSub.HAdv;
+                    string HRemark = oSub.HRemarkSub;
+
+                    string sql = "insert into PM_WorkTaskReportBillSub" +
+                        "(HInterID,HBillNo_bak,HEntryID,HRemark,HProNumber,HProjectStageID,HName,HTaskNote,HType,HRelTimes,HReportNote,HAdv,HSourceInterID,HSourceEntryID,HSourceBillType,HSourceBillNo) " +
+                        "values(" +
+                        "" + HInterID +
+                        ",'" + HBillNo +
+                        "'," + HEntryID +
+                        ",'" + HRemark +
+                        "','" + HProNumber +
+                        "'," + HProjectStageID +
+                        ",'" + HName +
+                        "','" + HTaskNote +
+                        "','" + HType +
+                        "'," + HRelTimes +
+                        ",'" + HReportNote +
+                        "','" + HAdv +
+                        "'," + HSourceInterID +
+                        "," + HSourceEntryID +
+                        ",'" + HSourceBillType +
+                        "','" + HSourceBillNo +
+                        "')";
+
+                    oCN.RunProc(sql);
+                }
+            }
+            else
+            {
+                foreach (PM_WorkTaskReportBill_Sub oSub in DetailColl)
+                {
+                    i++;                                            //鍚屼竴涓富琛ㄤ笅鐨勫瓙琛ㄧ殑鍐呯爜鑷
+
+                    int HEntryID = i;
+                    string HProNumber = oSub.HProNumber;
+                    int HProjectStageID = oSub.HProjectStageID;
+                    string HName = oSub.HName;
+                    string HTaskNote = oSub.HTaskNote;
+                    string HType = oSub.HType;
+                    double HRelTimes = oSub.HRelTimes;
+                    string HReportNote = oSub.HReportNote;
+                    string HAdv = oSub.HAdv;
+                    string HRemark = oSub.HRemarkSub;
+
+                    string sql = "insert into PM_WorkTaskReportBillSub" +
+                        "(HInterID,HBillNo_bak,HEntryID,HRemark,HProNumber,HProjectStageID,HName,HTaskNote,HType,HRelTimes,HReportNote,HAdv) " +
+                        "values(" +
+                        "" + HInterID +
+                        ",'" + HBillNo +
+                        "'," + HEntryID +
+                        ",'" + HRemark +
+                        "','" + HProNumber +
+                        "'," + HProjectStageID +
+                        ",'" + HName +
+                        "','" + HTaskNote +
+                        "','" + HType +
+                        "'," + HRelTimes +
+                        ",'" + HReportNote +
+                        "','" + HAdv +
+                        "')";
+
+                    oCN.RunProc(sql);
+                }
+            }
+            
+
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+        #endregion
+        #endregion
+
+        #region 浠诲姟姹囨姤 鏌ヨ
+        /// <summary>
+        /// 杩斿洖椤圭洰闃舵鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_WorkTaskReportBill/list")]
+        [HttpGet]
+        public object getWorkTaskReportBill(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Gy_ProjectStage_Query", 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_PM_WorkTaskReportBillList order by 鍗曟嵁鍙�", "h_v_PM_ProjectStageBillList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_PM_WorkTaskReportBillList where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙�";
+                    ds = oCN.RunProcReturn(sql, "h_v_PM_WorkTaskReportBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                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 浠诲姟姹囨姤 缂栬緫-椤甸潰璧嬪��
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_WorkTaskReportBill/editInit")]
+        [HttpGet]
+        public object getWorkTaskReportBilleditInit(string HInterID, string user)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Pm_ProjectStageBill_edit", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("exec h_p_PM_WorkTaskReportBill_EditInit " + HInterID, "h_p_PM_WorkTaskReportBill_EditInit");
+                tableList.Add(ds.Tables[0]);
+                tableList.Add(ds.Tables[1]);
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = tableList;
+                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 HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_WorkTaskReportBill/delete")]
+        [HttpGet]
+        public object deleteWorkTaskReportBill(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Pm_WorkTaskReportBill_delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from PM_WorkTaskReportBillMain where HInterID = " + HInterID);
+                oCN.RunProc("delete from PM_WorkTaskReportBillSub where HInterID='" + HInterID + "'");
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                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("PM_WorkTaskReportBill/AuditPM_WorkTaskReportBill")]
+        [HttpGet]
+        public object AuditPM_WorkTaskReportBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_WorkTaskReportBill_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;
+                BillOld.MvarItemKey = "PM_WorkTaskReportBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (!BillOld.AbandonCheck(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浠诲姟姹囨姤 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("PM_WorkTaskReportBill/ClosePM_WorkTaskReportBill")]
+        [HttpGet]
+        public object ClosePM_WorkTaskReportBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_WorkTaskReportBill_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;
+                BillOld.MvarItemKey = "PM_WorkTaskReportBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浠诲姟姹囨姤 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("PM_WorkTaskReportBill/DropPM_WorkTaskReportBill")]
+        [HttpGet]
+        public object DropPM_WorkTaskReportBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_WorkTaskReportBill_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;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "PM_WorkTaskReportBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //浣滃簾鍗曟嵁
+                    if (!BillOld.Cancelltion(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽浣滃簾!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶄綔搴熷崟鎹�
+                    if (!BillOld.AbandonCancelltion(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+    }
+}
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\347\250\213\351\241\271\347\233\256/PM_ProjectBillController.cs" "b/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\347\250\213\351\241\271\347\233\256/PM_ProjectBillController.cs"
new file mode 100644
index 0000000..2aadcfc
--- /dev/null
+++ "b/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\347\250\213\351\241\271\347\233\256/PM_ProjectBillController.cs"
@@ -0,0 +1,1050 @@
+锘縰sing DBUtility;
+using Model;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.Http;
+using System.Windows.Forms;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers.椤圭洰绠$悊.宸ョ▼椤圭洰
+{
+    public class PM_ProjectBillController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
+        string user_LongShan = "";
+        string HName_LongShan = "";
+
+        #region 宸ョ▼椤圭洰 鏂板/缂栬緫
+        #region 宸ョ▼椤圭洰 琛ㄥご鏁版嵁
+        public class PM_ProjectBill_Main
+        {
+            public int HInterID;
+            public string HBillNo;
+            public string HProNumber;
+            public string HProName;
+            public int HCusID;
+            public string HCusName;
+            public string HBeginDate;
+            public string HEndDate;
+            public string HDate;
+            public int HPMEmpID;
+            public string HPMEmpName;
+            public int HWorkEmpID;
+            public string HWorkEmpName;
+            public int HDepEmpID;
+            public string HDepEmpName;
+            public int HMaterID;
+            public string HMaterNumber;
+            public string HMaterName;
+            public int HPayCusID;
+            public string HPayCusName;
+            public string HProType;
+            public string HRemark;
+            public int HOrgID;
+            public string HMaker;
+            public string HUpdater;
+            public string HChecker;
+            public string HMakerDate;
+            public string HUpdaterDate;
+            public string HCheckerDate;
+            public string HCloseMan;
+            public string HDeleteMan;
+            public string HBacker;
+            public string HCloseManDate;
+            public string HDeleteManDate;
+            public string HBackerDate;
+            public string HBackRemark;
+            public double HSumMoney;
+            public double HProMoney;
+            public double HWorkMoney;
+            public double HOtherMoney;
+            public int HConWorkDays;
+            public int HDepDays;
+            public double HLastMoney;
+
+        }
+        #endregion
+        #region 宸ョ▼椤圭洰 椤圭洰闃舵琛ㄤ綋鏁版嵁
+        public class PM_ProjectBill_ProjectStage
+        {
+            public int RowID;
+            public int HProjectStageID;
+            public string HProjectStageName;
+            public string HStageNote;
+            public int HPMGoodsID;
+            public string HPMGoodsName;
+            public bool HIsKey;
+            public double HRate;
+            public int HEmpID;
+            public string HEmpName;
+            public int HCheckEmpID;
+            public string HCheckEmpName;
+            public string HFinishDate;
+            public double HWorkDays;
+            public string HRemarkSub;
+        }
+        #endregion
+        #region 宸ョ▼椤圭洰 椤圭洰鎴愬憳琛ㄤ綋鏁版嵁
+        public class PM_ProjectBill_Employee
+        {
+            public int RowID;
+            public int HEmployeeID;
+            public string HEmployeeName;
+            public bool HIsPM;
+            public double HRate;
+            public double HPlanAvgMoney;
+            public double HPlanCountMoney;
+            public string HRemarkSub;
+        }
+        #endregion
+        #region 宸ョ▼椤圭洰 鏂板/缂栬緫
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_ProjectBill/AddBill")]
+        [HttpPost]
+        public object AddBill([FromBody] JObject sMainSub)
+        {
+            //鑾峰彇鍙傛暟
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            //寮�濮嬩簨鍔�
+            oCN.BeginTran();
+            //淇濆瓨涓昏〃
+            objJsonResult = AddBillMain(msg1);
+            if (objJsonResult.code == "0")
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = objJsonResult.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            oCN.Commit();
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�";
+            objJsonResult.data = ds.Tables[0];
+            return objJsonResult;
+        }
+        #endregion
+        #region 娣诲姞 宸ョ▼椤圭洰 涓昏〃
+        public json AddBillMain(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+            string msg4 = sArray[2].ToString();
+            int OperationType = int.Parse(sArray[3].ToString());//鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[4].ToString();//鐢ㄦ埛鍚�
+            string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О
+            user_LongShan = sArray[4].ToString();//鐢ㄦ埛鍚�
+
+            try
+            {
+                if(OperationType == 1)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_add", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳柊澧炴潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else if(OperationType == 3)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犵紪杈戞潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                
+                msg2 = "[" + msg2.ToString() + "]";
+                List<PM_ProjectBill_Main> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PM_ProjectBill_Main>>(msg2);
+
+                int HYear = int.Parse(mainList[0].HDate.Split('-')[0]);
+                int HPeriod = int.Parse(mainList[0].HDate.Split('-')[1]);
+                string HBillType = "4750";
+                string HBillSubType = "";
+                int HInterID = mainList[0].HInterID;
+                string HDate = mainList[0].HDate;
+                string HBillNo = mainList[0].HBillNo;
+                int HBillStatus = 1;
+                string HRemark = mainList[0].HRemark;
+                string HMaker = user;
+                string HMakerDate = mainList[0].HMakerDate;
+                string HProNumber = mainList[0].HProNumber;
+                string HProName = mainList[0].HProName;
+                int HCusID = mainList[0].HCusID;
+                string HBeginDate = mainList[0].HBeginDate;
+                string HEndDate = mainList[0].HEndDate;
+                double HSumMoney = mainList[0].HSumMoney;
+                double HProMoney = mainList[0].HProMoney;
+                double HWorkMoney = mainList[0].HWorkMoney;
+                double HOtherMoney = mainList[0].HOtherMoney;
+                string HProType = mainList[0].HProType;
+                int HPMEmpID = mainList[0].HPMEmpID;
+                int HWorkEmpID = mainList[0].HWorkEmpID;
+                int HDepEmpID = mainList[0].HDepEmpID;
+                double HConWorkDays = mainList[0].HConWorkDays;
+                double HDepDays = mainList[0].HDepDays;
+                double HLastMoney = mainList[0].HLastMoney;
+                int HPayCusID = mainList[0].HPayCusID;
+                int HOrgID = mainList[0].HOrgID;
+                int HMaterID = mainList[0].HMaterID;
+                string HUpdater = mainList[0].HUpdater;
+                string HUpdaterDate = mainList[0].HUpdaterDate;
+
+                if (OperationType == 2)
+                {
+                    ds = oCN.RunProcReturn("select * from PM_ProjectBillMain where HBillNo ='" + HBillNo + "'", "PM_ProjectBillMain");
+                    if (ds.Tables[0].Rows.Count > 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶�,璇烽噸鏂拌緭鍏�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                ds = oCN.RunProcReturn("select * from PM_ProjectBillMain where HInterID = " + HInterID + " and HBillNo = '" + HBillNo + "'", "PM_ProjectBillMain");
+
+                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
+                {
+                    string sql = "insert into PM_ProjectBillMain" +
+                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HBillStatus,HRemark,HMaker,HMakeDate,HProNumber,HProName,HCusID,HBeginDate,HEndDate,HSumMoney," +
+                        "HProMoney,HWorkMoney,HOtherMoney,HProType,HPMEmpID,HWorkEmpID,HDepEmpID,HConWorkDays,HDepDays,HLastMoney,HPayCusID,HOrgID,HMaterID) " +
+                        "values(" +
+                        "" + HYear +
+                        "," + HPeriod +
+                        ",'" + HBillType +
+                        "','" + HBillSubType +
+                        "'," + HInterID +
+                        ",'" + HDate +
+                        "','" + HBillNo +
+                        "'," + HBillStatus +
+                        ",'" + HRemark +
+                        "','" + HMaker +
+                        "','" + HMakerDate +
+                        "','" + HProNumber +
+                        "','" + HProName +
+                        "'," + HCusID +
+                        ",'" + HBeginDate +
+                        "','" + HEndDate +
+                        "'," + HSumMoney +
+                        "," + HProMoney +
+                        "," + HWorkMoney +
+                        "," + HOtherMoney +
+                        ",'" + HProType +
+                        "'," + HPMEmpID +
+                        "," + HWorkEmpID +
+                        "," + HDepEmpID +
+                        "," + HConWorkDays +
+                        "," + HDepDays +
+                        "," + HLastMoney +
+                        "," + HPayCusID +
+                        "," + HOrgID +
+                        "," + HMaterID +
+                        ")";
+
+                    //涓昏〃
+                    oCN.RunProc(sql);
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板宸ョ▼椤圭洰:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板宸ョ▼椤圭洰锛�" + HBillNo + "','LMES-宸ョ▼椤圭洰妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)                    //缂栬緫
+                {
+                    string sql = "update PM_ProjectBillMain set " +
+                        "HYear = " + HYear +
+                        ",HPeriod = " + HPeriod +
+                        ",HBillType = '" + HBillType +
+                        "',HBillSubType = '" + HBillSubType +
+                        "',HDate = '" + HDate +
+                        "',HBillNo = '" + HBillNo +
+                        "',HBillStatus = " + HBillStatus +
+                        ",HRemark = '" + HRemark +
+                        "',HUpdater = '" + HUpdater +
+                        "',HUpdateDate = '" + HUpdaterDate +
+                        "',HProNumber = '" + HProNumber +
+                        "',HProName = '" + HProName +
+                        "',HCusID = " + HCusID +
+                        ",HBeginDate = '" + HBeginDate +
+                        "',HEndDate = '" + HEndDate +
+                        "',HSumMoney = " + HSumMoney +
+                        ",HProMoney = '" + HProMoney +
+                        "',HWorkMoney = " + HWorkMoney +
+                        ",HOtherMoney = " + HOtherMoney +
+                        ",HProType = '" + HProType +
+                        "',HPMEmpID = " + HPMEmpID +
+                        ",HWorkEmpID = " + HWorkEmpID +
+                        ",HDepEmpID = " + HDepEmpID +
+                        ",HConWorkDays = " + HConWorkDays +
+                        ",HDepDays = '" + HDepDays +
+                        "',HLastMoney = " + HLastMoney +
+                        ",HPayCusID = " + HPayCusID +
+                        ",HOrgID = " + HOrgID +
+                        ",HMaterID = " + HMaterID +
+                        " where HInterID = " + HInterID;
+
+                    oCN.RunProc(sql);
+
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("delete from PM_ProjectBillSub_Emp where HInterID='" + HInterID + "'");
+                    oCN.RunProc("delete from PM_ProjectBillSub where HInterID='" + HInterID + "'");
+                    //璁板綍鏃ュ織
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼椤圭洰宸ョ▼:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼椤圭洰宸ョ▼锛�" + HBillNo + "','LMES-椤圭洰宸ョ▼妯″潡','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨瀛愯〃
+                objJsonResult = AddBillSub1(msg3, HInterID, HBillNo, OperationType);
+                objJsonResult = AddBillSub2(msg4, HInterID, HBillNo, OperationType);
+
+
+                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 = 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;
+            }
+        }
+        #endregion
+
+        #region 娣诲姞宸ョ▼椤圭洰 琛ㄤ綋锛氶」鐩樁娈佃〃
+        public json AddBillSub1(string msg3, long HInterID, string HBillNo, int OperationType)
+        {
+            List<PM_ProjectBill_ProjectStage> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PM_ProjectBill_ProjectStage>>(msg3);
+            int i = 0;                                          //浣滀负瀛愯〃鍐呯爜
+            foreach (PM_ProjectBill_ProjectStage oSub in DetailColl)
+            {
+                i++;                                            //鍚屼竴涓富琛ㄤ笅鐨勫瓙琛ㄧ殑鍐呯爜鑷
+
+                int HEntryID = i;
+                string HRemark = oSub.HRemarkSub;
+                int HProjectStageID = oSub.HProjectStageID;
+                string HStageNote = oSub.HStageNote;
+                int HPMGoodsID = oSub.HPMGoodsID;
+                string HRelationGoods = oSub.HPMGoodsName;
+                int HIsKey = oSub.HIsKey?1:0;
+                double HRate = oSub.HRate;
+                int HEmpID = oSub.HEmpID;
+                int HCheckEmpID = oSub.HCheckEmpID;
+                string HFinishDate = oSub.HFinishDate;
+                double HWorkDays = oSub.HWorkDays;
+
+                string sql = "insert into PM_ProjectBillSub" +
+                    "(HInterID,HBillNo_bak,HEntryID,HRemark,HProjectStageID,HStageNote,HPMGoodsID,HRelationGoods,HIsKey,HRate,HEmpID,HCheckEmpID,HFinishDate,HWorkDays) " +
+                    "values(" +
+                    "" + HInterID +
+                    ",'" + HBillNo +
+                    "'," + HEntryID +
+                    ",'" + HRemark +
+                    "'," + HProjectStageID +
+                    ",'" + HStageNote +
+                    "'," + HPMGoodsID +
+                    ",'" + HRelationGoods +
+                    "'," + HIsKey +
+                    "," + HRate +
+                    "," + HEmpID +
+                    "," + HCheckEmpID +
+                    ",'" + HFinishDate +
+                    "'," + HWorkDays +
+                    ")";
+
+                oCN.RunProc(sql);
+            }
+
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+        #endregion
+
+        #region 娣诲姞宸ョ▼椤圭洰 琛ㄤ綋锛氶」鐩垚鍛樿〃
+        public json AddBillSub2(string msg3, long HInterID, string HBillNo, int OperationType)
+        {
+            List<PM_ProjectBill_Employee> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PM_ProjectBill_Employee>>(msg3);
+            int i = 0;                                          //浣滀负瀛愯〃鍐呯爜
+            foreach (PM_ProjectBill_Employee oSub in DetailColl)
+            {
+                i++;                                            //鍚屼竴涓富琛ㄤ笅鐨勫瓙琛ㄧ殑鍐呯爜鑷
+
+                int HEntryID = i;
+                string HRemark = oSub.HRemarkSub;
+                int HEmpID = oSub.HEmployeeID;
+                int HIsPM = oSub.HIsPM?1:0;
+                double HRate = oSub.HRate;
+                double HPlanAvgMoney = oSub.HPlanAvgMoney;
+                double HPlanCountMoney = oSub.HPlanCountMoney;
+
+
+                string sql = "insert into PM_ProjectBillSub_Emp" +
+                    "(HInterID,HBillNo_bak,HEntryID,HRemark,HEmpID,HIsPM,HRate,HPlanAvgMoney,HPlanCountMoney) " +
+                    "values(" +
+                    "" + HInterID +
+                    ",'" + HBillNo +
+                    "'," + HEntryID +
+                    ",'" + HRemark +
+                    "'," + HEmpID +
+                    "," + HIsPM +
+                    "," + HRate +
+                    "," + HPlanAvgMoney +
+                    "," + HPlanCountMoney +
+                    ")";
+
+                oCN.RunProc(sql);
+            }
+
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+        #endregion
+
+
+        #endregion
+
+        #region 宸ョ▼椤圭洰 鏌ヨ
+        /// <summary>
+        /// 杩斿洖椤圭洰闃舵鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_ProjectBill/list")]
+        [HttpGet]
+        public object getProjectBill(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Gy_ProjectStage_Query", 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_PM_ProjectBillList order by 鍗曟嵁鍙� ", "h_v_PM_ProjectBillList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_PM_ProjectBillList where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� ";
+                    ds = oCN.RunProcReturn(sql, "h_v_PM_ProjectBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                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 宸ョ▼椤圭洰 缂栬緫-椤甸潰璧嬪��
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_ProjectBill/editInit")]
+        [HttpGet]
+        public object getProjectBilleditInit(string HInterID, string user)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if(HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("exec h_p_PM_ProjectBill_EditInit " + HInterID, "h_p_PM_ProjectBill_EditInit");
+                tableList.Add(ds.Tables[0]);
+                tableList.Add(ds.Tables[1]);
+                tableList.Add(ds.Tables[2]);
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = tableList;
+                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 HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_ProjectBill/delete")]
+        [HttpGet]
+        public object deleteProjectBill(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if(HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from PM_ProjectBillMain where HInterID = " + HInterID);
+                oCN.RunProc("delete from PM_ProjectBillSub_Emp where HInterID='" + HInterID + "'");
+                oCN.RunProc("delete from PM_ProjectBillSub where HInterID='" + HInterID + "'");
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                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("PM_ProjectBill/AuditPM_ProjectBill")]
+        [HttpGet]
+        public object AuditPM_ProjectBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_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;
+                BillOld.MvarItemKey = "PM_ProjectBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (!BillOld.AbandonCheck(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ョ▼椤圭洰 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("PM_ProjectBill/ClosePM_ProjectBill")]
+        [HttpGet]
+        public object ClosePM_ProjectBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_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;
+                BillOld.MvarItemKey = "PM_ProjectBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ョ▼椤圭洰 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("PM_ProjectBill/DropPM_ProjectBill")]
+        [HttpGet]
+        public object DropPM_ProjectBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_ProjectBill_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;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "PM_ProjectBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //浣滃簾鍗曟嵁
+                    if (!BillOld.Cancelltion(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽浣滃簾!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶄綔搴熷崟鎹�
+                    if (!BillOld.AbandonCancelltion(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ョ▼椤圭洰 涓嬫帹(闃舵姹囨姤)-椤甸潰鏄剧ず
+        [Route("PM_ProjectBill/set_ProjectReport")]
+        [HttpGet]
+        public object ProjectBill_ProjectReport(string HInterID, string HProjectStageID, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                List<DataTable> tables = new List<DataTable>();
+                //鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Gy_ProjectStage_Query", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+                //鑾峰彇琛ㄥご淇℃伅
+                string sql = "exec h_p_PM_ProjectBill_setProjectReport " + HInterID + "," + HProjectStageID;
+                ds = oCN.RunProcReturn(sql, "h_p_PM_ProjectBill_setProjectReport");
+                tables.Add(ds.Tables[0]);
+                tables.Add(ds.Tables[1]);
+                if (ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀵瑰簲椤圭洰闃舵涓嶅瓨鍦紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[1].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 = tables;
+                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("PM_ProjectBill/set_WorkTaskReport")]
+        [HttpGet]
+        public object ProjectBill_WorkTaskReport(string HInterID, string HProjectStageID, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                List<DataTable> tables = new List<DataTable>();
+                //鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Gy_ProjectStage_Query", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+                //鑾峰彇琛ㄥご淇℃伅
+                string sql = "exec h_p_PM_ProjectBill_setWorkTaskReport " + HInterID + "," + HProjectStageID;
+                ds = oCN.RunProcReturn(sql, "h_p_PM_ProjectBill_setWorkTaskReport");
+                tables.Add(ds.Tables[0]);
+                tables.Add(ds.Tables[1]);
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[1].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 = tables;
+                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
+    }
+}
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\351\241\271\347\233\256\351\230\266\346\256\265/Gy_ProjectStageController.cs" "b/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\351\241\271\347\233\256\351\230\266\346\256\265/Gy_ProjectStageController.cs"
new file mode 100644
index 0000000..cf3e5c9
--- /dev/null
+++ "b/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\351\241\271\347\233\256\351\230\266\346\256\265/Gy_ProjectStageController.cs"
@@ -0,0 +1,2202 @@
+锘縰sing DBUtility;
+using Model;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.Http;
+using System.Windows.Forms;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers.椤圭洰绠$悊.椤圭洰闃舵
+{
+    public class Gy_ProjectStageController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
+        string user_LongShan = "";
+        string HName_LongShan = "";
+
+
+        #region 椤圭洰闃舵 鏂板/缂栬緫
+        #region 椤圭洰闃舵 鏂板/缂栬緫 淇℃伅鍒楄〃
+        public class Gy_ProjectStage_eidt_add
+        {
+            public long HItemID;
+            public string HNumber;
+            public string HName;
+            public long HParentID;
+            public bool HStopflag;
+            public string HRemark;
+            public string HHelpCode;
+            public int HUSEORGID;
+            public string HStageNote;
+            public string HRelationGoods;
+            public bool HIsKey;
+            public double HRate;
+        }
+        #endregion
+        /// <summary>
+        /// 淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Gy_ProjectStage/AddNewProjectStage")]
+        [HttpPost]
+        public object AddNewProjectStage([FromBody] JObject oMain)
+        {
+            try
+            {
+                //DAL.ClsGy_Process_Ctl oDept = new DAL.ClsGy_Process_Ctl();
+                //DAL.ClsGy_Process_View oDeptHlp = new DAL.ClsGy_Process_View();
+
+                var _value = oMain["oMain"].ToString();
+                string msg1 = _value.ToString();
+                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+                string msg2 = sArray[0].ToString();
+                string user = sArray[1].ToString();//鐢ㄦ埛鍚�
+
+                //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                if (!DBUtility.ClsPub.Security_Log("PM_ProjectStage_edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愮紪杈�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //string msg3 = sArray[1].ToString();
+                //string msg4 = sArray[2].ToString();
+                //string msg5 = sArray[3].ToString();
+
+
+                //鍙嶅簭鍒楀寲
+                msg2 = "[" + msg2.ToString() + "]";
+                List<Gy_ProjectStage_eidt_add> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_ProjectStage_eidt_add>>(msg2);
+
+                long HItemID = list[0].HItemID;
+                string HNumber = list[0].HNumber;
+                string HName = list[0].HName;
+                string HShortNumber = list[0].HNumber;
+                long HParentID = list[0].HParentID;
+                long HLevel = ClsPub.GetLevel(list[0].HNumber.Trim());
+                bool HEndFlag = true;
+                bool HStopflag = list[0].HStopflag;
+                string HRemark = list[0].HRemark;
+                string HHelpCode = list[0].HHelpCode;
+                string HMakeEmp = user;
+                string HModifyEmp = user;
+                int HUSEORGID = list[0].HUSEORGID;
+                string HStageNote = list[0].HStageNote;
+                string HRelationGoods = list[0].HRelationGoods;
+                bool HIsKey = list[0].HIsKey;
+                double HRate = list[0].HRate;
+               
+                
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                if (HItemID == 0)
+                {
+                    oCN.BeginTran();
+                    string sql = "Insert into  Gy_ProjectStage" +
+                        " (HNumber,HName,HShortNumber,HParentID,HLevel,HEndFlag,HStopflag,HRemark,HHelpCode,HMakeEmp,HCREATEORGID,HStageNote,HRelationGoods,HIsKey,HRate) " +
+                        " Values(" +
+                        "'" + HNumber + "'" +
+                        ",'" + HName + "'" +
+                        ",'" + HShortNumber + "'" +
+                        "," + HParentID.ToString() + "" +
+                        "," + HLevel.ToString() + "" +
+                        "," + Convert.ToString(HEndFlag ? 1 : 0) + "" +
+                        "," + Convert.ToString(HStopflag ? 1 : 0) + "" +
+                        ",'" + HRemark + "'" +
+                        ",'" + HHelpCode + "'" +
+                        ",'" + HMakeEmp + "'" +
+                        "," + HUSEORGID + "" +
+                        ",'" + HStageNote + "'" +
+                        ",'" + HRelationGoods + "'" +
+                        "," + Convert.ToString(HIsKey ? 1 : 0) + "" +
+                        "," + HRate + "" +
+                        ")";
+
+                    oCN.RunProc(sql, ref DBUtility.ClsPub.sExeReturnInfo);
+                    //淇敼涓婄骇涓洪潪鏈骇浠g爜
+                    oCN.RunProc("Update Gy_ProjectStage set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
+                    oCN.Commit();
+                }
+                else
+                {
+                    ////鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                    oCN.BeginTran();
+                    string sql = "Update Gy_ProjectStage set " +
+                        "HNumber='" + HNumber + "'" +
+                        ",HName='" + HName + "'" +
+                        ",HShortNumber='" + HShortNumber + "'" +
+                        ",HParentID=" + HParentID.ToString() + "" +
+                        ",HLevel=" + HLevel.ToString() + "" +
+                        ",HEndFlag=" + Convert.ToString(HEndFlag ? 1 : 0) + "" +
+                        ",HStopflag=" + Convert.ToString(HStopflag ? 1 : 0) + "" +
+                        ",HRemark='" + HRemark + "'" +
+                        ",HHelpCode='" + HHelpCode + "'" +
+                        ",HMakeEmp='" + HMakeEmp + "'" +
+                        ",HModifyEmp = '" + HModifyEmp + "'" +
+                        ",HModifyTime = getDate()" +
+                        ",HCREATEORGID=" + HUSEORGID + "" +
+                        ",HStageNote='" + HStageNote + "'" +
+                        ",HRelationGoods='" + HRelationGoods + "'" +
+                        ",HIsKey=" + Convert.ToString(HIsKey ? 1 : 0) + "" +
+                        ",HRate=" + HRate + "" +
+                        " where HItemID=" + HItemID;
+                    oCN.RunProc(sql, ref DBUtility.ClsPub.sExeReturnInfo);
+                    //淇敼涓婄骇涓洪潪鏈骇浠g爜
+                    oCN.RunProc("Update Gy_ProjectStage set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
+                    //
+                    oCN.Commit();
+                }
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+                objJsonResult.data = 1;
+                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 椤圭洰闃舵 鏌ヨ
+        /// <summary>
+        /// 杩斿洖椤圭洰闃舵鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Gy_ProjectStage/list")]
+        [HttpGet]
+        public object getProjectStageList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Gy_ProjectStage_Query", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Gy_ProjectStage order by 闃舵缂栫爜 ", "h_v_Gy_ProjectStage");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Gy_ProjectStage where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 闃舵缂栫爜 ";
+                    ds = oCN.RunProcReturn(sql, "h_v_Gy_ProjectStage");
+                }
+
+                //娣诲姞鍒楀悕
+                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 椤圭洰闃舵 鏌ヨ鎸囧畾椤圭洰闃舵璁板綍
+        /// <summary>
+        /// 鏍规嵁鍩虹璧勬枡ID 鏌ユ壘璁板綍
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Gy_ProjectStage/cx")]
+        [HttpGet]
+        public object cx(long HInterID)
+        {
+            try
+            {
+
+                ds = oCN.RunProcReturn("select * from Gy_ProjectStage where HitemID=" + HInterID, "Gy_ProjectStage");
+
+                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 椤圭洰闃舵 鍒犻櫎
+        /// <summary>
+        /// 椤圭洰闃舵鍒楄〃鍒犻櫎鍔熻兘
+        /// </summary>
+        /// <returns></returns>
+        [Route("DeltetGy_ProjectStage")]
+        [HttpGet]
+        public object DeltetGy_ProjectStage(string HItemID, string user)
+        {
+            DataSet ds;
+            DataSet ds1;
+            try
+            {
+                //鍒犻櫎鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("PM_ProjectStage_delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if (string.IsNullOrWhiteSpace(HItemID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HItemID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+                ds = oCN.RunProcReturn("select * from Gy_ProjectStage where HItemID=" + HItemID, "Gy_ProjectStage");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鏁版嵁锛屾棤娉曞垹闄わ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult; ;
+                }
+                //var HStopflag = Convert.ToBoolean(ds.Tables[0].Rows[0]["HStopflag"]);
+                //if (HStopflag)
+                //{
+                //    oCN.RollBack();//鍥炴粴浜嬪姟
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏁版嵁宸插垹闄ゆ棤娉曞啀娆″垹闄わ紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+                ds1 = oCN.RunProcReturn("Select HItemID from  Gy_ProjectStage  Where HParentID='" + HItemID + "'", " Gy_ProjectStage");
+                if (ds1.Tables[0].Rows.Count != 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "姝ら」鐩瓨鍦ㄥ瓙椤圭洰锛屼笉鑳藉垹闄わ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string HUseFlag = Convert.ToString(ds.Tables[0].Rows[0]["HUseFlag"]);
+                if (HUseFlag == "宸蹭娇鐢�")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "姝ら」鐩凡浣跨敤锛屼笉鑳藉垹闄わ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.RunProc("delete from  Gy_ProjectStage  where HItemID=" + HItemID);
+                oCN.Commit();//鎻愪氦浜嬪姟
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "* 鏁版嵁鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍒犻櫎澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 椤圭洰闃舵 瀹℃牳/鍙嶅鏍�
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_ProjectStage/AuditGy_ProjectStage")]
+        [HttpGet]
+        public object AuditGy_ProjectStage(int HInterID, int IsAudit, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Pm_ProjectStage_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_ProjectStage where HItemID=" + HInterID, "Gy_ProjectStage");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_ProjectStage set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {
+                    oCN.RunProc("update Gy_ProjectStage set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 椤圭洰闃舵 绂佺敤銆佸弽绂佺敤
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsStop">绂佺敤(0),鍙嶇鐢�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_ProjectStage/StopGy_ProjectStage")]
+        [HttpGet]
+        public object StopGy_ProjectStage(int HInterID, int IsStop, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Pm_ProjectStage_Stop", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绂佺敤澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_ProjectStage where HItemID=" + HInterID, "Gy_ProjectStage");
+                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)  //绂佺敤鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_ProjectStage set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "绂佺敤鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsStop == 1) //鍙嶇鐢ㄥ垽鏂�
+                {
+                    oCN.RunProc("update Gy_ProjectStage set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶇鐢ㄦ垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "绂佺敤澶辫触鎴栬�呭弽绂佺敤澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+
+        #region 椤圭洰闃舵娓呭崟 鏂板/缂栬緫- 淇濆瓨
+        #region 椤圭洰闃舵娓呭崟 琛ㄥご鏁版嵁
+        public class PM_ProjectStageBill_Main
+        {
+            public int HInterID;
+            public string HBillNo;
+            public string HDate;
+            public string HRemark;
+            public string HMaker;
+            public string HUpdater;
+            public string HChecker;
+            public string HMakerDate;
+            public string HUpdaterDate;
+            public string HCheckerDate;
+            public string HCloseMan;
+            public string HDeleteMan;
+            public string HBacker;
+            public string HCloseManDate;
+            public string HDeleteManDate;
+            public string HBackerDate;
+            public string HBackRemark;
+        }
+        #endregion
+        #region 椤圭洰闃舵娓呭崟 瀛愯〃鏁版嵁
+        public class PM_ProjectStageBill_Sub
+        {
+            public int RowID;
+            public int HProjectStageID;
+            public string HProjectStageName;
+            public string HStageNote;
+            public int HPMGoodsID;
+            public string HPMGoodsName;
+            public bool HIsKey;
+            public double HRate;
+            //public int HEmpID;
+            //public string HEmpName;
+            //public int HCheckEmpID;
+            //public string HCheckEmpName;
+            //public string HFinishDate;
+            //public double HWorkDays;
+            public string HRemarkSub;
+        }
+        #endregion
+        #region 椤圭洰闃舵娓呭崟 鏂板/缂栬緫-淇濆瓨
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_ProjectStageBill/AddBill")]
+        [HttpPost]
+        public object AddBill([FromBody] JObject sMainSub)
+        {
+            //鑾峰彇鍙傛暟
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            //寮�濮嬩簨鍔�
+            oCN.BeginTran();
+            //淇濆瓨涓昏〃
+            objJsonResult = AddBillMain(msg1);
+            if (objJsonResult.code == "0")
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = objJsonResult.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            oCN.Commit();
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�";
+            objJsonResult.data = ds.Tables[0];
+            return objJsonResult;
+        }
+        #endregion
+        #region 娣诲姞 椤圭洰闃舵娓呭崟 涓昏〃
+        public json AddBillMain(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+            int OperationType = int.Parse(sArray[2].ToString());//鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[3].ToString();//鐢ㄦ埛鍚�
+            string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О
+            user_LongShan = sArray[3].ToString();//鐢ㄦ埛鍚�
+
+            try
+            {
+                if (OperationType == 1)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Pm_ProjectStageBill_add", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳柊澧炴潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else if (OperationType == 3)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Pm_ProjectStageBill_edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犵紪杈戞潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                msg2 = "[" + msg2.ToString() + "]";
+                List<PM_ProjectStageBill_Main> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PM_ProjectStageBill_Main>>(msg2);
+
+                int HYear = int.Parse(mainList[0].HDate.Split('-')[0]);
+                int HPeriod = int.Parse(mainList[0].HDate.Split('-')[1]);
+                string HBillType = "4751";
+                string HBillSubType = "";
+                int HInterID = mainList[0].HInterID;
+                string HDate = mainList[0].HDate;
+                string HBillNo = mainList[0].HBillNo;
+                int HBillStatus = 1;
+                string HRemark = mainList[0].HRemark;
+                string HMaker = mainList[0].HMaker;
+                string HMakerDate = mainList[0].HMakerDate;
+                string HUpdater = mainList[0].HUpdater;
+                string HUpdaterDate = mainList[0].HUpdaterDate;
+
+                if (OperationType == 2)
+                {
+                    ds = oCN.RunProcReturn("select * from PM_ProjectStageBillMain where HBillNo ='" + HBillNo + "'", "PM_ProjectStageBill");
+                    if (ds.Tables[0].Rows.Count > 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶�,璇烽噸鏂拌緭鍏�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                ds = oCN.RunProcReturn("select * from PM_ProjectStageBillMain where HInterID = " + HInterID + " and HBillNo = '" + HBillNo + "'", "PM_ProjectStageBillMain");
+
+                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
+                {
+                    string sql = "insert into PM_ProjectStageBillMain" +
+                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HBillStatus,HRemark,HMaker,HMakeDate) " +
+                        "values(" +
+                        "" + HYear +
+                        "," + HPeriod +
+                        ",'" + HBillType +
+                        "','" + HBillSubType +
+                        "'," + HInterID +
+                        ",'" + HDate +
+                        "','" + HBillNo +
+                        "'," + HBillStatus +
+                        ",'" + HRemark +
+                        "','" + HMaker +
+                        "','" + HMakerDate +
+                        "')";
+
+                    //涓昏〃
+                    oCN.RunProc(sql);
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板椤圭洰闃舵娓呭崟:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板椤圭洰闃舵娓呭崟锛�" + HBillNo + "','LMES-椤圭洰闃舵娓呭崟妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)                    //缂栬緫
+                {
+                    string sql = "update PM_ProjectStageBillMain set " +
+                        "HYear = " + HYear +
+                        ",HPeriod = " + HPeriod +
+                        ",HBillType = '" + HBillType +
+                        "',HBillSubType = '" + HBillSubType +
+                        "',HDate = '" + HDate +
+                        "',HBillNo = '" + HBillNo +
+                        "',HBillStatus = " + HBillStatus +
+                        ",HRemark = '" + HRemark +
+                        "',HUpdater = '" + HUpdater +
+                        "',HUpdateDate = '" + HUpdaterDate +
+                        "' where HInterID = " + HInterID;
+
+                    oCN.RunProc(sql);
+
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("delete from PM_ProjectStageBillSub where HInterID='" + HInterID + "'");
+                    //璁板綍鏃ュ織
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼椤圭洰闃舵娓呭崟:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼椤圭洰闃舵娓呭崟锛�" + HBillNo + "','LMES-椤圭洰闃舵娓呭崟妯″潡','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨瀛愯〃
+                objJsonResult = AddBillSub(msg3, HInterID, HBillNo, OperationType);
+
+                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 = 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;
+            }
+        }
+        #endregion
+        #region 娣诲姞椤圭洰闃舵娓呭崟 瀛愯〃
+        public json AddBillSub(string msg3, long HInterID, string HBillNo, int OperationType)
+        {
+            List<PM_ProjectStageBill_Sub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PM_ProjectStageBill_Sub>>(msg3);
+            int i = 0;                                          //浣滀负瀛愯〃鍐呯爜
+            foreach (PM_ProjectStageBill_Sub oSub in DetailColl)
+            {
+                i++;                                            //鍚屼竴涓富琛ㄤ笅鐨勫瓙琛ㄧ殑鍐呯爜鑷
+
+                int HEntryID = i;
+                int HProjectStageID = oSub.HProjectStageID;
+                string HStageNote = oSub.HStageNote;
+                int HPMGoodsID = oSub.HPMGoodsID;
+                string HRelationGoods = oSub.HPMGoodsName;
+                int HIsKey = oSub.HIsKey?1:0;
+                double HRate = oSub.HRate;
+                string HRemark = oSub.HRemarkSub;
+
+                string sql = "insert into PM_ProjectStageBillSub" +
+                    "(HInterID,HBillNo_bak,HEntryID,HRemark,HProjectStageID,HStageNote,HPMGoodsID,HRelationGoods,HIsKey,HRate) " +
+                    "values(" +
+                    "" + HInterID +
+                    ",'" + HBillNo +
+                    "'," + HEntryID +
+                    ",'" + HRemark +
+                    "'," + HProjectStageID +
+                    ",'" + HStageNote +
+                    "'," + HPMGoodsID +
+                    ",'" + HRelationGoods +
+                    "'," + HIsKey +
+                    "," + HRate +
+                    ")";
+
+                oCN.RunProc(sql);
+            }
+
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+        #endregion
+        #endregion
+
+        #region 椤圭洰闃舵娓呭崟 鏌ヨ
+        /// <summary>
+        /// 杩斿洖椤圭洰闃舵鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_ProjectStageBill/list")]
+        [HttpGet]
+        public object getProjectStageBill(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Gy_ProjectStage_Query", 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_PM_ProjectStageBill order by 鍗曟嵁鍙� desc", "h_v_PM_ProjectStageBill");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_PM_ProjectStageBill where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� desc";
+                    ds = oCN.RunProcReturn(sql, "h_v_PM_ProjectStageBill");
+                }
+
+                //娣诲姞鍒楀悕
+                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 椤圭洰闃舵娓呭崟 缂栬緫-椤甸潰璧嬪��
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_ProjectStageBill/editInit")]
+        [HttpGet]
+        public object getProjectStageBilleditInit(string HInterID, string user)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Pm_ProjectStageBill_edit", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("exec h_p_PM_ProjectStageBill_EditInit " + HInterID, "h_p_PM_ProjectStageBill_EditInit");
+                tableList.Add(ds.Tables[0]);
+                tableList.Add(ds.Tables[1]);
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = tableList;
+                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 HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_ProjectStageBill/delete")]
+        [HttpGet]
+        public object deleteProjectStageBill(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Pm_ProjectStageBill_delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from PM_ProjectStageBillMain where HInterID = " + HInterID);
+                oCN.RunProc("delete from PM_ProjectStageBillSub where HInterID='" + HInterID + "'");
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                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("PM_ProjectStageBill/AuditPM_ProjectStageBill")]
+        [HttpGet]
+        public object AuditPM_ProjectStageBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_ProjectStageBill_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;
+                BillOld.MvarItemKey = "PM_ProjectStageBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (!BillOld.AbandonCheck(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 椤圭洰闃舵娓呭崟 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("PM_ProjectStageBill/ClosePM_ProjectStageBill")]
+        [HttpGet]
+        public object ClosePM_ProjectStageBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_ProjectStageBill_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;
+                BillOld.MvarItemKey = "PM_ProjectStageBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 椤圭洰闃舵娓呭崟 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("PM_ProjectStageBill/DropPM_ProjectStageBill")]
+        [HttpGet]
+        public object DropPM_ProjectStageBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_ProjectStageBill_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;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "PM_ProjectStageBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //浣滃簾鍗曟嵁
+                    if (!BillOld.Cancelltion(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽浣滃簾!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶄綔搴熷崟鎹�
+                    if (!BillOld.AbandonCancelltion(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+        #region 椤圭洰闃舵姹囨姤 鏂板/缂栬緫-淇濆瓨
+        #region 椤圭洰闃舵姹囨姤 琛ㄥご鏁版嵁
+        public class PM_ProjectReportBill_Main
+        {
+            public int HInterID;
+            public string HBillNo;
+            public string HDate;
+            public int HProID;
+            public string HProNumber;
+            public string HMainSourceBillNo;
+            public string HMainSourceBillType;
+            public int HProjectStageID;
+            public string HProjectStageName;
+            public string HStageNote;
+            public string HRelationGoods;
+            public int HIsKey;
+            public int HReportEmpID;
+            public string HReportEmpName;
+            public string HReportNote;
+            public string HReportGoods;
+            public string HReceiveEmp;
+            public string HCopyEmp;
+            public double HRate;
+            public int HOrgID;
+            public string HRemark;
+            public string HMaker;
+            public string HUpdater;
+            public string HChecker;
+            public string HMakerDate;
+            public string HUpdaterDate;
+            public string HCheckerDate;
+            public string HCloseMan;
+            public string HDeleteMan;
+            public string HBacker;
+            public string HCloseManDate;
+            public string HDeleteManDate;
+            public string HBackerDate;
+            public string HBackRemark;
+        }
+        #endregion
+        #region 椤圭洰闃舵姹囨姤 瀛愯〃鏁版嵁
+        public class PM_ProjectReportBill_Sub
+        {
+            public int RowID;
+            public int HEmpID;
+            public string HEmpName;
+            public bool HIsPM;
+            public double HRate;
+            public double HAvgMoney;
+            public double HCountMoney;
+            public string HRemarkSub;
+        }
+        #endregion
+        #region 椤圭洰闃舵姹囨姤 鏂板/缂栬緫-淇濆瓨
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_ProjectReportBill/AddBill")]
+        [HttpPost]
+        public object AddBill_ProjectReportBill([FromBody] JObject sMainSub)
+        {
+            //鑾峰彇鍙傛暟
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            //寮�濮嬩簨鍔�
+            oCN.BeginTran();
+            //淇濆瓨涓昏〃
+            objJsonResult = AddBillMain_ProjectReportBill(msg1);
+            if (objJsonResult.code == "0")
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = objJsonResult.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            oCN.Commit();
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�";
+            objJsonResult.data = ds.Tables[0];
+            return objJsonResult;
+        }
+        #endregion
+        #region 娣诲姞 椤圭洰闃舵姹囨姤 涓昏〃
+        public json AddBillMain_ProjectReportBill(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+            int OperationType = int.Parse(sArray[2].ToString());//鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[3].ToString();//鐢ㄦ埛鍚�
+            string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О
+            user_LongShan = sArray[3].ToString();//鐢ㄦ埛鍚�
+
+            try
+            {
+                if (OperationType == 1)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Pm_ProjectReportBill_add", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳柊澧炴潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else if (OperationType == 3)
+                {
+                    //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Pm_ProjectReportBill_edit", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犵紪杈戞潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }else if (OperationType == 4)
+                {
+
+                }
+
+                msg2 = "[" + msg2.ToString() + "]";
+                List<PM_ProjectReportBill_Main> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PM_ProjectReportBill_Main>>(msg2);
+
+                int HYear = int.Parse(mainList[0].HDate.Split('-')[0]);
+                int HPeriod = int.Parse(mainList[0].HDate.Split('-')[1]);
+                string HBillType = "4752";
+                string HBillSubType = "";
+                int HBillStatus = 1;
+
+                int HInterID = mainList[0].HInterID;
+                string HBillNo = mainList[0].HBillNo;
+                string HDate = mainList[0].HDate;
+                int HProID = mainList[0].HProID;
+                string HProNumber = mainList[0].HProNumber;
+                string HMainSourceBillNo = mainList[0].HMainSourceBillNo;
+                string HMainSourceBillType = mainList[0].HMainSourceBillType;
+                int HProjectStageID = mainList[0].HProjectStageID;
+                string HStageNote = mainList[0].HStageNote;
+                string HRelationGoods = mainList[0].HRelationGoods;
+                int HIsKey = mainList[0].HIsKey;
+                int HReportEmpID = mainList[0].HReportEmpID;
+                string HReportNote = mainList[0].HReportNote;
+                string HReportGoods = mainList[0].HReportGoods;
+                string HReceiveEmp = mainList[0].HReceiveEmp;
+                string HCopyEmp = mainList[0].HCopyEmp;
+                double HRate = mainList[0].HRate;
+                int HOrgID = mainList[0].HOrgID;
+                string HRemark = mainList[0].HRemark;
+                string HMaker = mainList[0].HMaker;
+                string HMakerDate = mainList[0].HMakerDate;
+                string HUpdater = mainList[0].HUpdater;
+                string HUpdaterDate = mainList[0].HUpdaterDate;
+                
+
+                if (OperationType == 2)
+                {
+                    ds = oCN.RunProcReturn("select * from PM_ProjectReportBillMain where HBillNo ='" + HBillNo + "'", "PM_ProjectReportBillMain");
+                    if (ds.Tables[0].Rows.Count > 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶�,璇烽噸鏂拌緭鍏�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                ds = oCN.RunProcReturn("select * from PM_ProjectReportBillMain where HInterID = " + HInterID + " and HBillNo = '" + HBillNo + "'", "PM_ProjectReportBillMain");
+
+                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
+                {
+                    string sql = "insert into PM_ProjectReportBillMain" +
+                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HBillStatus,HRemark,HMaker,HMakeDate" +
+                        ",HProNumber,HProjectStageID,HStageNote,HRelationGoods,HIsKey,HReportEmpID,HReportNote,HReportGoods,HReceiveEmp,HCopyEmp,HRate,HOrgID) " +
+                        "values(" +
+                        "" + HYear +
+                        "," + HPeriod +
+                        ",'" + HBillType +
+                        "','" + HBillSubType +
+                        "'," + HInterID +
+                        ",'" + HDate +
+                        "','" + HBillNo +
+                        "'," + HBillStatus +
+                        ",'" + HRemark +
+                        "','" + HMaker +
+                        "','" + HMakerDate +
+                        "','" + HProNumber +
+                        "'," + HProjectStageID +
+                        ",'" + HStageNote +
+                        "','" + HRelationGoods +
+                        "'," + HIsKey +
+                        "," + HReportEmpID +
+                        ",'" + HReportNote +
+                        "','" + HReportGoods +
+                        "','" + HReceiveEmp +
+                        "','" + HCopyEmp +
+                        "'," + HRate +
+                        "," + HOrgID +
+                        ")";
+
+                    //涓昏〃
+                    oCN.RunProc(sql);
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板椤圭洰闃舵姹囨姤:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板椤圭洰闃舵姹囨姤锛�" + HBillNo + "','LMES-椤圭洰闃舵姹囨姤妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)                    //缂栬緫
+                {
+                    string sql = "update PM_ProjectReportBillMain set " +
+                        "HYear = " + HYear +
+                        ",HPeriod = " + HPeriod +
+                        ",HBillType = '" + HBillType +
+                        "',HBillSubType = '" + HBillSubType +
+                        "',HDate = '" + HDate +
+                        "',HBillNo = '" + HBillNo +
+                        "',HBillStatus = " + HBillStatus +
+                        ",HRemark = '" + HRemark +
+                        "',HUpdater = '" + HUpdater +
+                        "',HUpdateDate = '" + HUpdaterDate +
+                        "',HProNumber = '" + HProNumber +
+                        "',HProjectStageID = " + HProjectStageID +
+                        ",HStageNote = '" + HStageNote +
+                        "',HRelationGoods = '" + HRelationGoods +
+                        "',HIsKey = " + HIsKey +
+                        ",HReportEmpID = " + HReportEmpID +
+                        ",HReportNote = '" + HReportNote +
+                        "',HReportGoods = '" + HReportGoods +
+                        "',HReceiveEmp = '" + HReceiveEmp +
+                        "',HCopyEmp = '" + HCopyEmp +
+                        "',HRate = " + HRate +
+                        ",HOrgID = " + HOrgID +
+                        " where HInterID = " + HInterID;
+
+                    oCN.RunProc(sql);
+
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("delete from PM_ProjectReportBillSub where HInterID='" + HInterID + "'");
+                    //璁板綍鏃ュ織
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼椤圭洰闃舵姹囨姤:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼椤圭洰闃舵姹囨姤锛�" + HBillNo + "','LMES-椤圭洰闃舵姹囨姤妯″潡','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }else if(OperationType == 4 && ds.Tables[0].Rows.Count == 0 )           //涓嬫帹-鏂板
+                {
+                    string sql = "insert into PM_ProjectReportBillMain" +
+                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HBillStatus,HRemark,HMaker,HMakeDate" +
+                        ",HProNumber,HProjectStageID,HStageNote,HRelationGoods,HIsKey,HReportEmpID,HReportNote,HReportGoods,HReceiveEmp,HCopyEmp,HRate,HOrgID,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillType,HMainSourceBillNo) " +
+                        "values(" +
+                        "" + HYear +
+                        "," + HPeriod +
+                        ",'" + HBillType +
+                        "','" + HBillSubType +
+                        "'," + HInterID +
+                        ",'" + HDate +
+                        "','" + HBillNo +
+                        "'," + HBillStatus +
+                        ",'" + HRemark +
+                        "','" + HMaker +
+                        "','" + HMakerDate +
+                        "','" + HProNumber +
+                        "'," + HProjectStageID +
+                        ",'" + HStageNote +
+                        "','" + HRelationGoods +
+                        "'," + HIsKey +
+                        "," + HReportEmpID +
+                        ",'" + HReportNote +
+                        "','" + HReportGoods +
+                        "','" + HReceiveEmp +
+                        "','" + HCopyEmp +
+                        "'," + HRate +
+                        "," + HOrgID +
+                        "," + HProID +
+                        "," + HProjectStageID +
+                        ",'" + HMainSourceBillType +
+                        "','" + HMainSourceBillNo +
+                        "')";
+
+                    //涓昏〃
+                    oCN.RunProc(sql);
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板椤圭洰闃舵姹囨姤:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板椤圭洰闃舵姹囨姤锛�" + HBillNo + "','LMES-椤圭洰闃舵姹囨姤妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                //淇濆瓨瀛愯〃
+                objJsonResult = AddBillSub_ProjectReportBill(msg3, HInterID, HBillNo, OperationType,HProID, HProjectStageID, HMainSourceBillType, HMainSourceBillNo);
+
+                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 = 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;
+            }
+        }
+        #endregion
+        #region 娣诲姞椤圭洰闃舵娓呭崟 瀛愯〃
+        public json AddBillSub_ProjectReportBill(string msg3, long HInterID, string HBillNo, int OperationType, int HSourceInterID, int HSourceEntryID, string HSourceBillType, string HSourceBillNo)
+        {
+            List<PM_ProjectReportBill_Sub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PM_ProjectReportBill_Sub>>(msg3);
+            int i = 0;                                          //浣滀负瀛愯〃鍐呯爜
+            if(OperationType == 4)
+            {
+                foreach (PM_ProjectReportBill_Sub oSub in DetailColl)
+                {
+                    i++;                                            //鍚屼竴涓富琛ㄤ笅鐨勫瓙琛ㄧ殑鍐呯爜鑷
+
+                    int HEntryID = i;
+                    int HEmpID = oSub.HEmpID;
+                    int HIsPM = oSub.HIsPM ? 1 : 0;
+                    double HRate = oSub.HRate;
+                    double HAvgMoney = oSub.HAvgMoney;
+                    double HCountMoney = oSub.HCountMoney;
+                    string HRemarkSub = oSub.HRemarkSub;
+                    string sql = "insert into PM_ProjectReportBillSub" +
+                        "(HInterID,HBillNo_bak,HEntryID,HRemark,HEmpID,HIsPM,HRate,HAvgMoney,HCountMoney,HSourceInterID,HSourceEntryID,HSourceBillType,HSourceBillNo) " +
+                        "values(" +
+                        "" + HInterID +
+                        ",'" + HBillNo +
+                        "'," + HEntryID +
+                        ",'" + HRemarkSub +
+                        "'," + HEmpID +
+                        "," + HIsPM +
+                        "," + HRate +
+                        "," + HAvgMoney +
+                        "," + HCountMoney +
+                        "," + HSourceInterID + 
+                        "," + HSourceEntryID +
+                        ",'" + HSourceBillType + 
+                        "','" + HSourceBillNo +
+                        "')";
+                    oCN.RunProc(sql);
+                }
+            }
+            else
+            {
+                foreach (PM_ProjectReportBill_Sub oSub in DetailColl)
+                {
+                    i++;                                            //鍚屼竴涓富琛ㄤ笅鐨勫瓙琛ㄧ殑鍐呯爜鑷
+
+                    int HEntryID = i;
+                    int HEmpID = oSub.HEmpID;
+                    int HIsPM = oSub.HIsPM ? 1 : 0;
+                    double HRate = oSub.HRate;
+                    double HAvgMoney = oSub.HAvgMoney;
+                    double HCountMoney = oSub.HCountMoney;
+                    string HRemarkSub = oSub.HRemarkSub;
+                    string sql = "insert into PM_ProjectReportBillSub" +
+                        "(HInterID,HBillNo_bak,HEntryID,HRemark,HEmpID,HIsPM,HRate,HAvgMoney,HCountMoney) " +
+                        "values(" +
+                        "" + HInterID +
+                        ",'" + HBillNo +
+                        "'," + HEntryID +
+                        ",'" + HRemarkSub +
+                        "'," + HEmpID +
+                        "," + HIsPM +
+                        "," + HRate +
+                        "," + HAvgMoney +
+                        "," + HCountMoney +
+                        ")";
+                    oCN.RunProc(sql);
+                }
+            }
+            
+
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+        #endregion
+        #endregion
+
+        #region 椤圭洰闃舵姹囨姤 鏌ヨ
+        /// <summary>
+        /// 杩斿洖椤圭洰闃舵鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_ProjectReportBill/list")]
+        [HttpGet]
+        public object getProjectReportBill(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Gy_ProjectStage_Query", 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_PM_ProjectReportBillList order by 鍗曟嵁鍙� ", "h_v_PM_ProjectReportBillList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_PM_ProjectReportBillList where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� ";
+                    ds = oCN.RunProcReturn(sql, "h_v_PM_ProjectReportBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                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 椤圭洰闃舵娓呭崟 缂栬緫-椤甸潰璧嬪��
+        /// <summary>
+        ///鍙傛暟锛歴tring HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_ProjectReportBill/editInit")]
+        [HttpGet]
+        public object getProjectReportBilleditInit(string HInterID, string user)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Pm_ProjectStageBill_edit", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("exec h_p_PM_ProjectReportBill_EditInit " + HInterID, "h_p_PM_ProjectReportBill_EditInit");
+                tableList.Add(ds.Tables[0]);
+                tableList.Add(ds.Tables[1]);
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = tableList;
+                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 HInterID銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_ProjectReportBill/delete")]
+        [HttpGet]
+        public object deleteProjectReportBill(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Pm_ProjectReportBill_delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from PM_ProjectReportBillMain where HInterID = " + HInterID);
+                oCN.RunProc("delete from PM_ProjectReportBillSub where HInterID='" + HInterID + "'");
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                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("PM_ProjectReportBill/AuditPM_ProjectReportBill")]
+        [HttpGet]
+        public object AuditPM_ProjectReportBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_ProjectReportBill_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;
+                BillOld.MvarItemKey = "PM_ProjectReportBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.CheckBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅鏍稿崟鎹�
+                    if (!BillOld.AbandonCheck(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 椤圭洰闃舵姹囨姤 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("PM_ProjectReportBill/ClosePM_ProjectReportBill")]
+        [HttpGet]
+        public object ClosePM_ProjectReportBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_ProjectReportBill_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;
+                BillOld.MvarItemKey = "PM_ProjectReportBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 椤圭洰闃舵姹囨姤 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("PM_ProjectReportBill/DropPM_ProjectReportBill")]
+        [HttpGet]
+        public object DropPM_ProjectReportBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Pm_ProjectReportBill_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;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "PM_ProjectReportBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //浣滃簾鍗曟嵁
+                    if (!BillOld.Cancelltion(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 " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插弽浣滃簾!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //鍙嶄綔搴熷崟鎹�
+                    if (!BillOld.AbandonCancelltion(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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/LogService.cs b/WebAPI/LogService.cs
index 7762f83..113cc0d 100644
--- a/WebAPI/LogService.cs
+++ b/WebAPI/LogService.cs
@@ -69,5 +69,47 @@
             }
         }
         #endregion
+
+        #region 鑷畾涔夋枃浠跺悕
+        public static void CustomWriteLog(object obj, string FileName, string filePath = "Vlog" , bool isAppend = true)
+        {
+            try
+            {
+                lock (lockObj)
+                {
+                    filePath = $@"{filePath}\{FileName}.txt";
+
+                    filePath = AppDomain.CurrentDomain.BaseDirectory + filePath;
+
+                    if (!System.IO.Directory.Exists(Path.GetDirectoryName(filePath)))
+                    {
+                        System.IO.Directory.CreateDirectory(Path.GetDirectoryName(filePath));
+                    }
+
+                    bool fileExists = System.IO.File.Exists(filePath);
+                    //涓嶅瓨鍦� 鍒欏垱寤鸿鏂囦欢
+                    if (!fileExists)
+                    {
+                        System.IO.File.Create(filePath).Close();
+                    }
+
+                    using (StreamWriter writer = new StreamWriter(filePath, isAppend))
+                    {
+                        //瀛樺湪鐨勬椂鍊欐墠鍐欎竴琛�
+                        if (fileExists && isAppend)
+                        {
+                            writer.WriteLine();
+                        }
+
+                        var content = obj is string ? obj : JsonConvert.SerializeObject(obj);
+                        writer.WriteLine($"{DateTime.Now} {content}");
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+            }
+        }
+        #endregion
     }
 }
diff --git a/WebAPI/Models/Sc_WorkBillSortBillMain.cs b/WebAPI/Models/Sc_WorkBillSortBillMain.cs
index d1e307c..5cc7bff 100644
--- a/WebAPI/Models/Sc_WorkBillSortBillMain.cs
+++ b/WebAPI/Models/Sc_WorkBillSortBillMain.cs
@@ -67,5 +67,7 @@
         public string HICMOEntryID_Sec { get; set; }
         public string HOrderType { get; set; }
         public string HMonthPlanFlag { get; set; }
+        public string HMastersDate { get; set; }
+        public string sWheres { get; set; }
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml b/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml
index 4e00e52..9250916 100644
--- a/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml
+++ b/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml
@@ -10,7 +10,7 @@
     <LastUsedBuildConfiguration>Debug</LastUsedBuildConfiguration>
     <LastUsedPlatform>x86</LastUsedPlatform>
     <PublishProvider>FileSystem</PublishProvider>
-    <PublishUrl>E:\缃戠珯鍙戝竷\API</PublishUrl>
+    <PublishUrl>D:\缃戠珯鍙戝竷\鏅轰簯MESWMS\API</PublishUrl>
     <WebPublishMethod>FileSystem</WebPublishMethod>
     <SiteUrlToLaunchAfterPublish />
   </PropertyGroup>
diff --git a/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user b/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user
index 6918bd6..ec369ba 100644
--- a/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,84 +4,84 @@
 -->
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
-    <_PublishTargetUrl>E:\缃戠珯鍙戝竷\API</_PublishTargetUrl>
-    <History>True|2023-06-28T09:01:51.9542466Z;True|2023-06-27T15:03:28.1320450+08:00;True|2023-06-27T13:36:39.6707848+08:00;True|2023-06-26T09:40:01.1754706+08:00;True|2023-06-25T12:16:28.9080024+08:00;True|2023-06-25T11:51:59.9238461+08:00;True|2023-06-25T11:50:29.3100358+08:00;True|2023-06-25T11:29:28.5338563+08:00;True|2023-06-25T09:10:26.2420288+08:00;True|2023-06-25T09:08:15.0702872+08:00;True|2023-06-25T08:43:15.0806611+08:00;True|2023-06-25T08:41:41.8156616+08:00;True|2023-06-25T08:39:30.6818013+08:00;True|2023-06-25T08:38:18.5996529+08:00;True|2023-06-25T08:36:34.1479706+08:00;True|2023-06-25T08:34:53.9856289+08:00;True|2023-06-25T08:31:24.0298080+08:00;True|2023-06-25T08:15:45.7453280+08:00;True|2023-06-25T08:01:52.7609075+08:00;True|2023-06-24T21:25:23.8938665+08:00;True|2023-06-22T03:02:26.7305758+08:00;True|2023-06-22T02:10:48.8222890+08:00;True|2023-06-22T01:57:41.7875184+08:00;True|2023-06-22T01:52:19.4217362+08:00;True|2023-06-21T16:27:15.1464129+08:00;True|2023-06-21T16:11:46.6111817+08:00;True|2023-06-21T13:14:00.6869253+08:00;True|2023-06-21T13:09:28.2689225+08:00;True|2023-06-21T12:24:02.6762426+08:00;True|2023-06-21T12:18:06.2748924+08:00;True|2023-06-21T11:18:02.6754143+08:00;True|2023-06-21T11:08:34.2149469+08:00;True|2023-06-21T08:20:50.0079906+08:00;True|2023-06-20T15:56:03.2638713+08:00;True|2023-06-20T15:48:38.2419545+08:00;True|2023-06-20T15:35:26.6615171+08:00;True|2023-06-20T15:20:31.9284860+08:00;True|2023-06-20T15:18:39.8265469+08:00;True|2023-06-20T15:09:16.7617272+08:00;True|2023-06-20T09:53:23.2658672+08:00;True|2023-06-16T10:00:58.0337616+08:00;True|2023-06-16T09:47:58.8912904+08:00;True|2023-06-16T09:26:36.4914832+08:00;True|2023-06-15T16:22:21.4509393+08:00;True|2023-06-12T13:21:12.0491357+08:00;True|2023-06-12T10:18:32.9287587+08:00;True|2023-06-09T16:22:24.1132267+08:00;True|2023-06-08T18:12:42.4814009+08:00;True|2023-06-08T11:08:48.0533571+08:00;True|2023-06-08T10:41:43.0121701+08:00;False|2023-06-08T10:40:19.2093235+08:00;True|2023-06-06T13:03:50.8124200+08:00;True|2023-06-05T10:12:24.1858209+08:00;True|2023-06-02T17:02:57.5817094+08:00;True|2023-05-26T13:54:40.2272218+08:00;True|2023-05-24T12:43:50.2427994+08:00;True|2023-05-24T12:34:24.3922836+08:00;True|2023-05-24T10:07:19.4995219+08:00;True|2023-05-24T09:21:29.1960080+08:00;True|2023-05-23T22:34:23.3220912+08:00;True|2023-05-23T22:01:14.4175449+08:00;True|2023-05-23T17:02:53.0308400+08:00;True|2023-05-23T16:30:11.7138623+08:00;True|2023-05-23T15:51:50.0152484+08:00;True|2023-05-23T15:50:52.0657433+08:00;True|2023-05-23T15:28:25.5802377+08:00;True|2023-05-23T15:25:56.4633020+08:00;True|2023-05-23T14:52:29.8759921+08:00;True|2023-05-23T14:48:44.6519763+08:00;True|2023-05-20T04:28:10.3108871+08:00;True|2023-05-20T03:56:22.7233820+08:00;True|2023-05-20T03:47:38.4405026+08:00;True|2023-05-20T03:46:40.6056451+08:00;True|2023-05-20T03:44:25.0883888+08:00;True|2023-05-20T03:41:10.1148691+08:00;True|2023-05-20T02:34:14.3757035+08:00;True|2023-05-20T02:27:50.5595075+08:00;True|2023-05-20T02:23:04.2256041+08:00;True|2023-05-20T01:46:59.9534021+08:00;True|2023-05-20T01:42:33.5106065+08:00;True|2023-05-20T01:40:39.6918060+08:00;True|2023-05-20T01:11:47.7436847+08:00;True|2023-05-20T01:03:58.9476094+08:00;True|2023-05-19T22:59:47.4591129+08:00;True|2023-05-19T22:34:44.7988447+08:00;True|2023-05-19T22:24:55.2320279+08:00;True|2023-05-19T21:40:19.5285575+08:00;True|2023-05-19T21:38:21.2073338+08:00;True|2023-05-19T20:54:59.2058809+08:00;True|2023-05-19T16:08:15.0151080+08:00;True|2023-05-19T15:26:16.2836301+08:00;True|2023-05-19T13:09:06.1592914+08:00;True|2023-05-19T12:24:23.6252771+08:00;True|2023-05-19T11:50:53.8948740+08:00;True|2023-05-19T11:43:57.9296933+08:00;True|2023-05-19T10:44:34.9904463+08:00;True|2023-05-19T09:32:02.1216663+08:00;False|2023-05-19T09:31:06.4251757+08:00;True|2023-05-18T22:34:36.5292968+08:00;True|2023-05-18T20:37:59.7940567+08:00;True|2023-05-18T20:36:35.2790349+08:00;True|2023-05-18T20:34:10.7400457+08:00;True|2023-05-18T20:32:43.8790879+08:00;True|2023-05-18T20:31:13.5389643+08:00;True|2023-05-18T20:29:19.6206139+08:00;True|2023-05-18T20:07:25.5074263+08:00;True|2023-05-18T18:19:43.5324315+08:00;True|2023-05-18T18:15:36.4290026+08:00;True|2023-05-18T18:12:31.8703551+08:00;True|2023-05-18T18:10:52.9289531+08:00;True|2023-05-18T18:09:23.9118797+08:00;True|2023-05-18T17:58:30.8068228+08:00;True|2023-05-18T17:56:55.8055382+08:00;False|2023-05-18T17:54:54.7950789+08:00;False|2023-05-18T17:11:18.2325105+08:00;True|2023-05-18T17:09:24.4186482+08:00;True|2023-05-18T17:06:32.0699130+08:00;False|2023-05-18T17:01:41.8164925+08:00;False|2023-05-18T16:59:32.1112741+08:00;True|2023-05-18T16:58:34.1784100+08:00;True|2023-05-18T16:56:36.9460541+08:00;True|2023-05-18T16:55:00.9843495+08:00;True|2023-05-18T16:49:04.0161640+08:00;True|2023-05-18T16:48:28.9011382+08:00;True|2023-05-18T16:44:52.0675900+08:00;False|2023-05-18T16:44:37.3514214+08:00;False|2023-05-18T16:43:23.3343369+08:00;True|2023-05-18T16:41:35.8818611+08:00;True|2023-05-18T16:25:43.5167900+08:00;False|2023-05-18T16:24:46.6646890+08:00;False|2023-05-18T16:19:55.4153618+08:00;False|2023-05-18T16:16:18.0052881+08:00;False|2023-05-18T16:14:32.3377278+08:00;True|2023-05-17T15:43:45.1868569+08:00;True|2023-05-17T15:35:42.2476880+08:00;True|2023-05-17T14:23:28.2390957+08:00;True|2023-05-17T13:54:00.6756387+08:00;True|2023-05-17T13:45:46.1115068+08:00;True|2023-05-17T07:57:34.7129429+08:00;True|2023-05-16T16:04:20.3198005+08:00;False|2023-05-16T16:03:52.0737233+08:00;True|2023-05-16T15:28:45.4945726+08:00;True|2023-05-16T15:14:10.4952128+08:00;True|2023-05-16T15:04:46.5706346+08:00;True|2023-05-16T14:46:48.7034492+08:00;True|2023-05-16T14:45:29.4047499+08:00;True|2023-05-16T14:42:47.3507679+08:00;True|2023-05-16T14:30:47.9199224+08:00;True|2023-05-16T14:29:10.9147184+08:00;True|2023-05-16T14:27:48.3632687+08:00;True|2023-05-16T14:24:44.6240034+08:00;True|2023-05-16T14:19:41.2962188+08:00;True|2023-05-16T13:41:13.3366211+08:00;True|2023-05-16T13:26:44.1532655+08:00;True|2023-05-16T13:23:40.2882422+08:00;True|2023-05-16T13:11:41.5416792+08:00;True|2023-05-16T13:08:41.6341863+08:00;True|2023-05-16T13:04:35.6916867+08:00;True|2023-05-16T13:00:34.6889598+08:00;True|2023-05-16T12:57:48.4561274+08:00;True|2023-05-16T12:50:57.7405833+08:00;True|2023-05-16T12:49:33.8394829+08:00;True|2023-05-16T12:44:28.6906226+08:00;True|2023-05-16T12:41:08.3554032+08:00;True|2023-05-16T12:32:32.3448036+08:00;True|2023-05-16T11:32:04.4504376+08:00;True|2023-05-15T18:39:28.9172042+08:00;True|2023-05-15T18:35:41.5268755+08:00;True|2023-05-15T18:16:16.2900985+08:00;True|2023-04-28T16:24:40.7430596+08:00;False|2023-04-28T16:21:34.8499384+08:00;True|2023-04-28T15:43:40.3023318+08:00;True|2023-04-28T15:41:18.8228620+08:00;True|2023-04-28T14:16:21.1595325+08:00;True|2023-04-28T10:27:55.2150739+08:00;True|2023-04-12T16:25:26.5218825+08:00;True|2023-04-12T15:45:29.3993255+08:00;True|2023-04-12T14:00:18.1960878+08:00;True|2023-04-12T13:16:39.0804178+08:00;True|2023-04-11T11:02:27.5200402+08:00;True|2023-04-11T09:57:11.5903829+08:00;True|2023-04-10T09:58:01.1775220+08:00;True|2023-03-13T11:19:32.0927720+08:00;True|2023-03-13T10:39:50.9250037+08:00;True|2023-03-13T08:54:57.5891390+08:00;True|2023-03-10T09:00:31.2441735+08:00;True|2023-03-08T08:25:11.1877416+08:00;True|2023-03-06T09:18:03.5502956+08:00;True|2023-03-06T09:14:57.8192971+08:00;True|2023-01-11T13:30:27.8190489+08:00;True|2023-01-06T14:29:14.6067256+08:00;True|2022-12-23T17:06:52.0688439+08:00;True|2022-12-23T16:12:04.4155951+08:00;True|2022-12-23T13:35:44.6439326+08:00;True|2022-11-30T08:24:02.9999976+08:00;True|2022-11-30T08:01:51.4579972+08:00;True|2022-11-29T21:32:14.4359673+08:00;True|2022-11-29T19:30:22.9466023+08:00;True|2022-11-29T19:24:30.1630119+08:00;True|2022-11-29T17:31:43.1926801+08:00;True|2022-11-29T17:14:32.5869985+08:00;True|2022-11-29T10:42:57.1877576+08:00;True|2022-11-27T14:40:28.4784748+08:00;True|2022-11-26T20:49:34.2789400+08:00;True|2022-11-26T19:24:58.9988205+08:00;True|2022-11-26T15:33:08.6274944+08:00;True|2022-11-26T14:37:46.3953592+08:00;True|2022-11-26T09:16:41.7487240+08:00;True|2022-11-24T09:49:50.7302637+08:00;True|2022-11-23T16:24:56.5946914+08:00;True|2022-11-23T16:19:57.5570583+08:00;True|2022-11-23T15:05:13.8032246+08:00;True|2022-11-22T20:24:39.7324815+08:00;True|2022-11-22T13:18:16.2143925+08:00;False|2022-11-22T13:12:53.0448580+08:00;True|2022-11-22T11:03:01.7571733+08:00;True|2022-11-21T13:20:11.1961237+08:00;True|2022-11-21T13:13:52.0360749+08:00;True|2022-11-18T15:48:13.0747365+08:00;True|2022-11-18T14:15:54.5626901+08:00;True|2022-11-17T18:41:26.5464503+08:00;True|2022-11-15T13:55:35.3496366+08:00;True|2022-11-15T11:03:23.6773297+08:00;True|2022-11-15T10:58:47.9703720+08:00;True|2022-11-15T10:12:27.8305782+08:00;True|2022-11-15T09:47:26.7480777+08:00;True|2022-11-15T08:55:44.0275263+08:00;True|2022-11-15T08:54:06.6396851+08:00;True|2022-11-15T08:44:18.2013404+08:00;True|2022-11-15T01:16:19.8154538+08:00;True|2022-11-15T01:15:03.7846810+08:00;True|2022-11-15T01:01:11.0318599+08:00;True|2022-11-15T00:30:33.7148460+08:00;True|2022-11-15T00:15:26.5178283+08:00;True|2022-11-14T23:54:32.6128172+08:00;True|2022-11-14T23:26:52.0335380+08:00;True|2022-11-14T22:21:28.0622050+08:00;True|2022-11-14T21:47:43.6964619+08:00;True|2022-11-14T21:41:42.3128804+08:00;True|2022-11-14T21:31:17.2784203+08:00;True|2022-11-14T20:48:20.0380343+08:00;True|2022-11-11T17:24:44.7029993+08:00;True|2022-11-11T16:47:29.3444029+08:00;True|2022-11-11T16:07:26.4718473+08:00;True|2022-11-11T15:52:41.7235701+08:00;True|2022-11-10T15:58:10.8883176+08:00;True|2022-11-10T15:29:59.3113740+08:00;True|2022-11-10T13:34:14.7380132+08:00;True|2022-11-10T10:28:02.1166569+08:00;True|2022-11-09T23:28:25.6401971+08:00;True|2022-11-09T16:20:53.2757536+08:00;True|2022-11-09T16:16:41.3169214+08:00;True|2022-11-09T14:02:55.1802832+08:00;True|2022-11-09T13:57:55.2726154+08:00;True|2022-11-09T13:28:53.2022669+08:00;True|2022-11-09T13:10:58.0740163+08:00;True|2022-11-09T12:59:42.2328933+08:00;True|2022-11-09T11:54:08.0187924+08:00;True|2022-11-09T11:49:32.4296758+08:00;True|2022-11-09T11:34:32.6613370+08:00;True|2022-11-09T11:06:56.9443306+08:00;True|2022-11-06T23:43:44.0833657+08:00;True|2022-11-06T23:29:52.0088244+08:00;True|2022-11-06T22:06:14.7091464+08:00;True|2022-11-06T22:03:25.2696951+08:00;True|2022-11-06T21:58:50.1055520+08:00;True|2022-11-06T21:54:14.0075395+08:00;True|2022-11-06T21:39:30.2652105+08:00;True|2022-11-04T15:54:37.9813194+08:00;True|2022-11-04T15:43:59.7702621+08:00;True|2022-11-04T13:59:29.3941234+08:00;True|2022-11-04T13:44:18.1212719+08:00;True|2022-11-04T13:42:06.1010393+08:00;True|2022-11-04T13:37:01.7814703+08:00;True|2022-11-04T13:35:43.1121709+08:00;True|2022-11-04T13:33:05.1362535+08:00;True|2022-11-04T13:30:11.1113703+08:00;True|2022-11-04T13:28:53.7185382+08:00;True|2022-11-04T13:27:08.0691684+08:00;True|2022-11-04T13:20:46.2297633+08:00;True|2022-11-04T13:17:57.1564250+08:00;True|2022-11-04T13:15:36.3651019+08:00;True|2022-11-04T13:13:44.6635701+08:00;True|2022-11-04T13:12:02.3968306+08:00;True|2022-11-04T13:08:07.7653927+08:00;True|2022-11-04T11:37:44.1975649+08:00;True|2022-11-04T11:36:20.3813848+08:00;True|2022-11-04T11:26:40.9713465+08:00;True|2022-11-04T10:17:36.4269558+08:00;True|2022-11-04T09:47:05.4607111+08:00;True|2022-11-04T09:28:27.9347785+08:00;True|2022-11-04T08:38:38.5253737+08:00;True|2022-11-03T13:31:32.7883545+08:00;False|2022-11-03T13:27:07.8579021+08:00;True|2022-11-03T11:07:07.3903101+08:00;True|2022-11-03T10:54:26.7818816+08:00;True|2022-11-03T10:35:59.1956262+08:00;True|2022-11-03T10:30:07.0651285+08:00;True|2022-11-03T10:01:20.8467911+08:00;True|2022-08-22T11:13:33.9211829+08:00;True|2022-06-17T11:19:24.4893458+08:00;True|2022-06-07T14:44:51.5702202+08:00;True|2022-06-07T14:42:44.8351600+08:00;True|2022-05-17T14:19:55.1158182+08:00;True|2022-05-17T13:25:44.2886247+08:00;True|2022-05-17T10:29:26.6813564+08:00;True|2022-05-17T09:02:49.1742018+08:00;True|2022-05-06T15:13:12.2438900+08:00;True|2022-05-06T14:49:39.8536594+08:00;True|2022-04-22T17:07:44.8823529+08:00;True|2022-04-19T19:13:40.8312746+08:00;True|2022-04-19T15:40:16.0022040+08:00;True|2022-04-19T15:13:32.9767736+08:00;False|2022-04-19T15:08:33.6507639+08:00;True|2022-04-19T15:02:51.9580210+08:00;True|2022-04-19T13:54:18.7579131+08:00;True|2022-04-12T10:36:02.1779173+08:00;True|2022-04-12T10:05:31.0222037+08:00;True|2022-04-12T09:47:49.3724819+08:00;True|2022-04-09T15:08:54.5697468+08:00;True|2022-04-08T17:31:31.0046258+08:00;True|2022-04-08T16:50:41.3018422+08:00;True|2022-04-08T10:35:36.5029980+08:00;True|2022-03-31T09:38:37.3646053+08:00;True|2022-03-29T13:57:45.4410942+08:00;True|2022-03-10T18:59:23.7994337+08:00;True|2022-03-10T18:52:39.5019082+08:00;True|2022-03-10T18:51:12.7949284+08:00;True|2022-03-10T18:50:47.2024177+08:00;True|2022-03-10T18:45:08.8409380+08:00;True|2022-03-10T18:41:17.0102564+08:00;True|2022-03-10T18:35:49.0742353+08:00;True|2022-03-10T17:57:47.4196965+08:00;True|2022-03-10T17:34:27.5723245+08:00;True|2022-03-10T16:13:59.3829164+08:00;True|2022-03-09T14:50:49.1222033+08:00;True|2022-03-09T11:21:03.0073651+08:00;False|2022-03-09T11:16:56.1792896+08:00;False|2022-03-09T11:16:49.7923320+08:00;True|2022-03-08T15:47:47.4722336+08:00;True|2022-03-08T15:47:28.5397115+08:00;True|2022-03-08T15:37:08.7379870+08:00;True|2022-03-02T17:37:54.4659976+08:00;True|2022-03-02T17:34:12.2949726+08:00;True|2022-03-02T17:26:38.7070673+08:00;True|2022-03-02T17:07:49.7024316+08:00;True|2022-03-02T17:05:22.4177336+08:00;True|2022-03-02T16:14:57.9880587+08:00;True|2022-03-01T17:52:52.6766959+08:00;True|2022-02-28T14:36:22.6449303+08:00;True|2022-02-24T15:43:36.8244163+08:00;True|2022-02-23T17:57:14.3693224+08:00;True|2022-02-23T17:46:42.1078183+08:00;False|2022-02-23T17:41:06.5886724+08:00;True|2022-02-23T16:59:45.5533581+08:00;True|2022-02-23T16:57:43.3328895+08:00;True|2022-02-21T09:09:37.2601134+08:00;True|2022-02-21T09:03:32.4071009+08:00;True|2022-02-21T08:59:59.0172082+08:00;True|2022-02-18T14:05:39.1358825+08:00;True|2022-02-18T10:23:02.4391239+08:00;True|2022-02-18T10:21:31.0559267+08:00;True|2022-02-17T16:50:11.7192509+08:00;True|2022-02-17T13:19:13.7697894+08:00;True|2022-02-11T10:36:12.7757100+08:00;True|2022-02-10T10:54:25.2685040+08:00;True|2022-02-10T10:37:02.1034768+08:00;True|2022-02-09T17:32:45.6511283+08:00;True|2022-02-09T17:24:32.5115193+08:00;True|2022-02-09T17:00:24.0662114+08:00;True|2022-02-09T16:56:42.3364622+08:00;True|2022-02-09T14:17:25.8688855+08:00;True|2022-02-09T14:11:51.6149822+08:00;True|2022-02-07T23:29:26.2842648+08:00;True|2022-02-07T23:28:58.8242274+08:00;False|2022-02-07T23:25:29.0647793+08:00;True|2022-02-07T13:06:37.5515985+08:00;True|2022-02-07T12:42:19.5220491+08:00;True|2022-02-07T09:52:59.6728595+08:00;True|2022-02-01T11:32:10.5831557+08:00;True|2022-01-29T14:09:02.9178986+08:00;True|2022-01-28T12:01:45.1416438+08:00;True|2022-01-28T11:03:41.6361866+08:00;True|2022-01-28T10:44:53.5367862+08:00;True|2022-01-28T10:40:41.6697563+08:00;True|2022-01-28T10:25:56.7093616+08:00;True|2022-01-28T09:58:13.0733060+08:00;True|2022-01-27T09:26:29.6568807+08:00;True|2022-01-27T00:47:57.9102528+08:00;True|2022-01-27T00:46:52.8845001+08:00;True|2022-01-27T00:36:34.5330938+08:00;True|2022-01-27T00:35:19.5439329+08:00;True|2022-01-27T00:33:38.5701950+08:00;True|2022-01-27T00:32:00.9028982+08:00;True|2022-01-27T00:30:13.2390921+08:00;True|2022-01-27T00:28:23.2989144+08:00;True|2022-01-27T00:16:01.3789455+08:00;True|2022-01-27T00:09:58.8112352+08:00;True|2022-01-27T00:00:40.8353538+08:00;True|2022-01-26T23:37:50.9494735+08:00;True|2022-01-26T23:29:39.8647473+08:00;True|2022-01-26T23:20:49.3274392+08:00;True|2022-01-26T23:15:53.7037293+08:00;True|2022-01-26T23:06:28.8595953+08:00;True|2022-01-26T23:02:12.9882299+08:00;True|2022-01-26T22:55:33.2535730+08:00;True|2022-01-26T22:51:01.8427947+08:00;True|2022-01-26T22:47:44.0715387+08:00;True|2022-01-26T22:20:21.7217039+08:00;True|2022-01-26T22:13:39.5372069+08:00;True|2022-01-26T22:01:31.2113177+08:00;True|2022-01-26T21:55:26.5478921+08:00;True|2022-01-26T21:50:18.2700369+08:00;True|2022-01-26T21:48:52.0020233+08:00;True|2022-01-26T19:19:29.4530523+08:00;True|2022-01-26T19:07:21.6474231+08:00;True|2022-01-26T18:25:42.2933291+08:00;True|2022-01-26T12:39:02.0149050+08:00;True|2022-01-26T12:13:43.9149452+08:00;True|2022-01-26T11:24:33.5742248+08:00;True|2022-01-26T08:51:10.8105076+08:00;True|2022-01-25T21:07:32.9069261+08:00;True|2022-01-24T01:35:12.3309466+08:00;True|2022-01-23T23:19:15.9702821+08:00;True|2022-01-23T21:50:41.6903353+08:00;True|2022-01-23T21:25:57.6084267+08:00;True|2022-01-23T21:16:10.1516535+08:00;True|2022-01-23T20:52:08.3745284+08:00;True|2022-01-23T18:19:32.2386502+08:00;True|2022-01-23T18:11:42.0830325+08:00;True|2022-01-23T18:00:01.3239547+08:00;True|2022-01-23T12:18:48.2466943+08:00;True|2022-01-22T00:48:50.4531647+08:00;True|2022-01-21T13:10:32.8173598+08:00;True|2022-01-21T13:04:01.6388059+08:00;True|2022-01-21T12:51:40.5304103+08:00;True|2022-01-21T12:44:06.3059885+08:00;True|2022-01-21T12:34:33.9314010+08:00;True|2022-01-21T11:39:20.1088577+08:00;True|2022-01-20T11:33:49.0516846+08:00;True|2022-01-20T10:02:12.0295471+08:00;True|2022-01-20T10:02:03.3535503+08:00;True|2022-01-19T23:56:18.7293193+08:00;True|2022-01-19T22:30:14.6986228+08:00;True|2022-01-19T22:15:08.8608795+08:00;True|2022-01-19T21:57:55.2295030+08:00;True|2022-01-19T13:50:37.8588759+08:00;True|2022-01-19T13:42:52.9761531+08:00;True|2022-01-19T00:26:36.9722917+08:00;True|2022-01-19T00:15:30.8583143+08:00;True|2022-01-18T21:19:30.6193048+08:00;True|2022-01-18T21:12:07.1453825+08:00;True|2022-01-18T20:35:27.3779956+08:00;True|2022-01-18T17:44:45.2318570+08:00;True|2022-01-18T14:45:29.0299640+08:00;True|2022-01-17T22:23:20.8214203+08:00;True|2022-01-17T21:49:15.7740045+08:00;True|2022-01-17T21:47:24.6997598+08:00;True|2022-01-17T21:44:00.1942787+08:00;True|2022-01-17T21:43:15.5992687+08:00;True|2022-01-17T21:33:16.8034756+08:00;True|2022-01-17T21:25:39.9909343+08:00;True|2022-01-17T21:13:03.9659338+08:00;True|2022-01-17T20:32:14.8869091+08:00;True|2022-01-17T19:01:46.5753686+08:00;True|2022-01-17T18:31:24.1032169+08:00;True|2022-01-17T18:21:39.2918684+08:00;True|2022-01-17T18:12:07.4859038+08:00;True|2022-01-17T18:09:26.6989718+08:00;True|2022-01-17T18:04:36.7564997+08:00;True|2022-01-17T17:57:44.7814863+08:00;True|2022-01-17T17:51:50.1516107+08:00;True|2022-01-17T17:39:29.2918799+08:00;True|2022-01-17T14:55:21.5859341+08:00;True|2022-01-17T14:38:06.5091500+08:00;True|2022-01-17T14:30:25.5378436+08:00;True|2022-01-16T19:15:24.5874858+08:00;True|2022-01-16T19:07:49.0613424+08:00;True|2022-01-16T16:10:47.3112741+08:00;False|2022-01-14T19:09:41.9296709+08:00;False|2022-01-14T18:56:11.0569808+08:00;False|2022-01-14T18:28:20.1376762+08:00;False|2022-01-14T18:27:30.8678130+08:00;False|2022-01-14T18:22:45.4436504+08:00;False|2022-01-14T18:19:37.0374753+08:00;False|2022-01-14T18:18:48.5868254+08:00;False|2022-01-14T18:14:02.5810257+08:00;False|2022-01-14T18:09:51.1730754+08:00;False|2022-01-14T18:09:17.8940754+08:00;True|2022-01-13T20:08:16.2937608+08:00;True|2022-01-13T20:07:30.1505466+08:00;True|2022-01-13T13:39:42.0146294+08:00;True|2022-01-13T13:38:07.5062471+08:00;True|2022-01-13T11:29:49.3751232+08:00;True|2022-01-13T11:05:43.9574142+08:00;True|2022-01-13T10:33:23.1921058+08:00;True|2022-01-12T20:38:16.9165651+08:00;True|2022-01-12T20:24:46.3779264+08:00;True|2022-01-12T20:03:06.5030626+08:00;True|2022-01-12T19:44:55.4294326+08:00;True|2022-01-12T12:58:45.9548600+08:00;True|2022-01-12T11:28:44.7797749+08:00;True|2022-01-11T18:07:30.9151356+08:00;True|2022-01-11T15:06:32.7301609+08:00;True|2022-01-11T09:27:00.1766442+08:00;True|2021-12-30T14:41:56.8541015+08:00;True|2021-12-30T13:45:00.6130694+08:00;True|2021-12-30T13:44:18.7370780+08:00;True|2021-12-30T13:36:52.8171136+08:00;True|2021-12-28T19:14:22.5979649+08:00;True|2021-12-28T13:13:39.3543252+08:00;True|2021-12-27T15:31:26.6037782+08:00;True|2021-12-27T15:28:54.4824480+08:00;True|2021-12-27T15:22:47.8436108+08:00;True|2021-12-27T15:04:37.0711590+08:00;True|2021-12-27T15:03:52.0932499+08:00;True|2021-12-27T15:03:33.0172733+08:00;True|2021-12-27T13:28:27.4252747+08:00;True|2021-12-25T19:38:33.6784042+08:00;True|2021-12-24T20:47:43.3471563+08:00;True|2021-12-24T20:14:57.6946814+08:00;True|2021-12-24T19:55:21.1843105+08:00;True|2021-12-24T19:49:54.6719726+08:00;True|2021-12-24T19:38:14.1180741+08:00;True|2021-12-22T13:51:37.1082523+08:00;True|2021-12-21T15:38:59.8015096+08:00;True|2021-12-21T15:29:54.8095063+08:00;False|2021-12-21T15:29:21.7006531+08:00;False|2021-12-21T15:16:18.2218025+08:00;False|2021-12-21T15:11:38.1215841+08:00;False|2021-12-21T15:08:27.0590078+08:00;True|2021-12-10T14:12:36.4065298+08:00;True|2021-12-10T13:54:03.4921778+08:00;True|2021-12-10T13:25:49.0439086+08:00;True|2021-12-10T13:19:58.9494477+08:00;True|2021-12-10T13:10:45.3929017+08:00;True|2021-12-10T11:06:53.2416794+08:00;True|2021-12-07T17:23:28.9380484+08:00;True|2021-12-07T17:13:52.4384814+08:00;True|2021-12-07T16:39:49.2020208+08:00;True|2021-12-07T15:18:20.9024533+08:00;True|2021-12-07T15:07:35.4428035+08:00;True|2021-12-07T15:01:02.0445043+08:00;True|2021-12-07T14:50:08.9019705+08:00;True|2021-12-07T14:34:50.4993666+08:00;False|2021-12-07T14:32:56.0408332+08:00;True|2021-12-06T17:11:41.4004606+08:00;True|2021-12-06T16:48:07.6029757+08:00;True|2021-12-06T13:46:35.9437718+08:00;True|2021-12-06T13:45:07.6622615+08:00;True|2021-12-06T11:25:04.3483155+08:00;True|2021-12-06T11:18:24.5804187+08:00;True|2021-11-22T16:27:05.4241947+08:00;True|2021-11-22T13:40:17.6768280+08:00;True|2021-11-19T16:15:19.9085104+08:00;True|2021-11-09T10:34:21.1623512+08:00;True|2021-11-07T16:57:59.7380254+08:00;True|2021-11-07T16:53:47.4198852+08:00;True|2021-11-07T16:42:05.5096826+08:00;True|2021-11-07T16:37:21.0729013+08:00;True|2021-11-05T20:51:17.6170717+08:00;True|2021-11-05T20:35:14.6250333+08:00;True|2021-11-05T19:30:19.8374158+08:00;True|2021-11-05T19:22:46.2276569+08:00;True|2021-11-05T19:20:30.8253213+08:00;True|2021-11-05T19:16:45.7553310+08:00;True|2021-11-05T19:16:00.4532689+08:00;True|2021-11-05T19:12:25.9022478+08:00;False|2021-11-05T19:11:26.5753529+08:00;True|2021-11-05T19:09:30.0085433+08:00;True|2021-11-05T18:48:19.9395153+08:00;True|2021-11-05T18:45:34.3437897+08:00;True|2021-11-05T18:43:43.4558159+08:00;True|2021-11-05T18:40:40.9948500+08:00;True|2021-11-05T18:34:18.4440455+08:00;True|2021-11-05T15:54:51.6037132+08:00;True|2021-10-28T16:27:53.9728270+08:00;True|2021-10-28T16:03:59.5629998+08:00;True|2021-10-28T08:51:04.2549186+08:00;True|2021-10-27T15:14:53.5506098+08:00;True|2021-10-27T15:00:44.9100320+08:00;True|2021-10-27T13:14:46.7921647+08:00;True|2021-10-27T11:24:49.4550753+08:00;True|2021-10-27T10:10:10.3545125+08:00;True|2021-10-27T10:02:24.9248610+08:00;True|2021-10-27T09:59:40.3795897+08:00;True|2021-10-27T09:56:30.6629207+08:00;True|2021-10-27T09:10:48.3883432+08:00;True|2021-10-27T09:03:31.9191991+08:00;True|2021-10-27T08:59:59.7651159+08:00;True|2021-10-27T08:36:11.8620997+08:00;True|2021-10-27T08:26:40.2533014+08:00;True|2021-10-26T09:19:35.5674748+08:00;True|2021-10-26T09:17:17.6900747+08:00;True|2021-10-26T09:14:32.3999220+08:00;True|2021-10-25T15:08:21.2581763+08:00;True|2021-10-25T10:01:57.8524903+08:00;True|2021-10-25T09:28:51.6294879+08:00;True|2021-10-25T09:25:50.3373336+08:00;True|2021-10-25T09:23:37.0203978+08:00;True|2021-10-25T09:18:23.3380608+08:00;True|2021-10-25T09:15:10.5292071+08:00;True|2021-10-25T08:56:30.4632027+08:00;True|2021-10-25T08:50:11.4697392+08:00;True|2021-10-22T13:46:49.7207066+08:00;True|2021-10-22T10:06:33.3130089+08:00;True|2021-10-20T14:32:10.1235516+08:00;True|2021-10-20T14:16:18.6496291+08:00;True|2021-10-20T14:08:49.2443715+08:00;True|2021-10-20T14:05:14.6847950+08:00;True|2021-10-20T13:30:21.6057636+08:00;True|2021-10-20T10:55:22.2151716+08:00;True|2021-10-19T10:42:13.4198267+08:00;True|2021-10-19T10:01:41.0018108+08:00;True|2021-10-19T09:59:11.2127619+08:00;True|2021-10-19T09:54:04.8472874+08:00;True|2021-10-15T11:19:15.5327495+08:00;True|2021-10-15T11:17:41.0686485+08:00;True|2021-10-15T11:12:11.8295042+08:00;True|2021-10-15T10:33:31.5670079+08:00;True|2021-10-15T10:27:45.0815146+08:00;True|2021-10-14T14:51:28.5331025+08:00;True|2021-10-14T14:37:28.3276051+08:00;True|2021-10-14T14:23:39.0606792+08:00;True|2021-10-14T14:21:03.8140347+08:00;True|2021-10-13T10:31:10.6628977+08:00;True|2021-10-13T10:12:24.4238027+08:00;True|2021-10-13T08:47:43.9314486+08:00;True|2021-10-12T14:07:18.6065183+08:00;True|2021-10-12T10:34:10.1682362+08:00;True|2021-10-12T10:27:14.3073332+08:00;True|2021-10-12T10:22:08.0004619+08:00;True|2021-10-12T10:21:03.0275378+08:00;True|2021-10-12T10:11:54.9812692+08:00;True|2021-10-11T16:59:07.3568342+08:00;True|2021-10-11T16:53:14.2016138+08:00;True|2021-10-11T16:21:35.0133775+08:00;True|2021-10-11T15:34:19.5731935+08:00;True|2021-10-11T15:31:07.5780983+08:00;True|2021-10-11T15:06:47.1145237+08:00;True|2021-10-11T15:03:25.5000280+08:00;True|2021-10-11T10:12:57.6416898+08:00;True|2021-10-09T10:15:17.9235165+08:00;True|2021-10-09T10:13:51.3318441+08:00;True|2021-10-09T10:01:21.6661542+08:00;True|2021-10-09T09:58:41.9225837+08:00;True|2021-10-08T14:56:49.7935800+08:00;True|2021-10-08T14:35:41.4490063+08:00;True|2021-10-08T14:02:42.6990656+08:00;True|2021-09-29T15:48:55.1547397+08:00;True|2021-09-29T15:48:23.5567191+08:00;True|2021-09-27T16:17:35.7180978+08:00;True|2021-09-27T15:51:50.4240134+08:00;True|2021-09-23T20:55:27.3554447+08:00;True|2021-09-23T14:14:44.0572017+08:00;True|2021-09-23T13:51:56.2344673+08:00;True|2021-09-23T10:46:16.7417007+08:00;True|2021-09-23T10:42:23.2117537+08:00;True|2021-09-22T15:21:22.9615672+08:00;True|2021-09-22T14:23:32.7907754+08:00;True|2021-09-22T13:48:03.4780947+08:00;True|2021-09-22T11:05:24.5249356+08:00;True|2021-09-22T10:00:19.0962943+08:00;True|2021-09-22T09:30:26.2686514+08:00;True|2021-09-17T11:22:34.5692792+08:00;True|2021-09-16T16:11:27.5372277+08:00;True|2021-09-16T14:53:40.8396557+08:00;True|2021-09-16T14:32:29.7905500+08:00;True|2021-09-16T14:26:46.2224219+08:00;True|2021-09-16T10:32:24.4244440+08:00;True|2021-09-15T11:10:35.3529360+08:00;True|2021-09-15T11:08:30.0857376+08:00;True|2021-09-15T11:05:56.7191571+08:00;True|2021-09-14T01:24:39.8041136+08:00;True|2021-09-14T01:05:01.1593327+08:00;True|2021-09-14T00:44:14.7233198+08:00;True|2021-09-13T23:48:19.4506233+08:00;True|2021-09-13T20:30:31.3243872+08:00;True|2021-09-13T19:45:35.9108911+08:00;False|2021-09-13T19:44:59.2779092+08:00;True|2021-09-13T18:09:22.4994381+08:00;True|2021-09-10T14:18:27.5788854+08:00;True|2021-09-09T15:57:01.7407207+08:00;True|2021-09-09T15:49:34.2598998+08:00;True|2021-09-09T11:32:10.7853024+08:00;True|2021-09-09T11:10:48.6840025+08:00;True|2021-09-09T10:35:37.3883078+08:00;True|2021-09-07T14:11:49.8497588+08:00;True|2021-09-07T13:34:48.4693349+08:00;True|2021-09-06T14:33:48.7549675+08:00;True|2021-09-03T16:27:51.1888520+08:00;True|2021-09-03T16:19:35.9003465+08:00;True|2021-09-03T15:46:28.1828032+08:00;True|2021-09-03T15:34:21.9362871+08:00;True|2021-09-03T11:24:49.8749819+08:00;True|2021-09-03T11:21:17.8373159+08:00;True|2021-09-03T11:16:53.2208136+08:00;True|2021-09-03T11:12:23.9063804+08:00;True|2021-09-03T09:11:09.2435721+08:00;True|2021-09-02T11:16:15.1370453+08:00;True|2021-09-02T10:35:39.1171879+08:00;True|2021-09-01T10:17:09.4536285+08:00;True|2021-09-01T09:46:28.4581776+08:00;True|2021-08-31T08:54:26.8588887+08:00;True|2021-08-31T08:39:08.3685693+08:00;True|2021-08-30T17:11:56.8438985+08:00;True|2021-08-30T15:59:42.0820292+08:00;True|2021-08-30T15:45:18.1868510+08:00;True|2021-08-30T14:56:08.3958863+08:00;True|2021-08-30T14:37:11.5379830+08:00;True|2021-08-30T14:35:34.8775934+08:00;True|2021-08-30T14:24:36.5111821+08:00;True|2021-08-30T10:05:49.6945200+08:00;True|2021-08-30T10:03:28.4064538+08:00;True|2021-08-30T10:00:16.8360929+08:00;True|2021-08-30T09:56:09.4434379+08:00;True|2021-08-30T09:55:36.1725334+08:00;True|2021-08-30T09:52:04.8600054+08:00;True|2021-08-30T09:47:46.4225655+08:00;True|2021-08-30T09:45:20.4894962+08:00;False|2021-08-27T17:17:34.2646751+08:00;False|2021-08-27T16:01:21.2791979+08:00;False|2021-08-27T15:58:06.9667160+08:00;False|2021-08-27T15:38:37.4818036+08:00;False|2021-08-27T15:21:02.8863114+08:00;False|2021-08-27T15:20:28.6828668+08:00;True|2021-08-26T16:00:44.3162145+08:00;True|2021-08-26T08:57:31.3842587+08:00;True|2021-08-23T08:43:41.1549775+08:00;True|2021-08-22T09:24:12.7210871+08:00;True|2021-08-22T09:19:53.8300229+08:00;True|2021-08-20T20:00:52.0140407+08:00;True|2021-08-20T19:40:14.7712765+08:00;True|2021-08-19T17:37:54.9748049+08:00;True|2021-08-19T17:20:11.0515687+08:00;True|2021-08-19T16:12:35.4392809+08:00;True|2021-08-19T16:06:50.6204587+08:00;True|2021-08-19T16:03:53.0824286+08:00;True|2021-08-19T15:56:01.3498791+08:00;True|2021-08-19T10:18:50.8113630+08:00;True|2021-08-19T09:58:06.2784035+08:00;True|2021-08-19T09:56:54.0619777+08:00;True|2021-08-19T00:32:08.3503093+08:00;True|2021-08-19T00:11:18.3150227+08:00;True|2021-08-19T00:02:49.4827718+08:00;True|2021-08-18T23:54:45.4845900+08:00;True|2021-08-18T23:39:51.6147977+08:00;True|2021-08-18T23:16:42.7214379+08:00;True|2021-08-18T22:38:57.4681929+08:00;True|2021-08-18T21:41:58.7560707+08:00;True|2021-08-18T21:11:52.2369249+08:00;True|2021-08-18T21:01:49.5669106+08:00;True|2021-08-18T20:47:46.5352688+08:00;False|2021-08-18T20:46:36.7956141+08:00;False|2021-08-18T20:46:01.0502138+08:00;True|2021-08-18T19:39:12.8186242+08:00;False|2021-08-18T19:38:12.6839708+08:00;True|2021-08-18T19:15:51.4626694+08:00;True|2021-08-18T16:07:20.4350886+08:00;True|2021-08-18T14:29:41.7171934+08:00;True|2021-08-18T14:20:36.3647361+08:00;True|2021-08-16T09:08:58.3617662+08:00;True|2021-08-15T20:44:29.9214083+08:00;True|2021-08-15T20:36:17.0958549+08:00;True|2021-08-15T20:29:34.3879773+08:00;True|2021-08-15T20:23:47.4052038+08:00;True|2021-08-15T15:01:19.7830862+08:00;True|2021-08-15T12:15:18.3433782+08:00;True|2021-08-13T20:59:11.3947130+08:00;True|2021-08-06T22:49:09.9538339+08:00;True|2021-08-06T22:35:19.0418168+08:00;True|2021-08-06T20:29:47.4241975+08:00;True|2021-08-06T14:08:16.4791827+08:00;True|2021-08-06T13:59:28.9874611+08:00;True|2021-08-06T13:57:34.3723977+08:00;True|2021-08-06T13:36:03.4816652+08:00;True|2021-08-06T12:22:52.5055221+08:00;True|2021-08-06T09:31:58.1272499+08:00;True|2021-08-06T09:26:51.6310039+08:00;True|2021-08-06T09:24:22.2899244+08:00;True|2021-08-06T09:06:30.6477912+08:00;True|2021-08-06T09:00:55.5101612+08:00;True|2021-08-06T08:49:59.9616490+08:00;True|2021-08-06T08:45:18.8586902+08:00;True|2021-08-05T20:09:25.8861998+08:00;True|2021-08-04T19:14:27.2396953+08:00;True|2021-08-04T19:11:47.5849093+08:00;True|2021-08-04T16:42:54.0149043+08:00;True|2021-08-04T15:02:11.5056561+08:00;True|2021-08-04T14:58:37.1435509+08:00;True|2021-08-04T14:55:34.7380132+08:00;True|2021-08-04T14:47:42.5933921+08:00;True|2021-08-04T14:45:17.9911874+08:00;True|2021-08-04T13:52:20.9601351+08:00;True|2021-08-04T09:48:28.8796992+08:00;True|2021-08-03T18:14:13.1894998+08:00;True|2021-08-03T17:45:35.1349721+08:00;True|2021-08-03T17:21:52.6028977+08:00;True|2021-08-03T17:20:35.4423020+08:00;True|2021-08-03T17:03:33.1667669+08:00;True|2021-08-03T17:01:54.2656787+08:00;True|2021-08-03T17:00:22.2778374+08:00;True|2021-08-03T16:56:58.8902582+08:00;True|2021-08-03T15:02:21.8601533+08:00;True|2021-08-03T14:57:34.0186758+08:00;True|2021-08-03T14:28:47.2242515+08:00;True|2021-08-03T14:22:22.4554236+08:00;True|2021-08-03T14:21:51.1339715+08:00;True|2021-08-03T13:37:33.9697131+08:00;True|2021-08-03T13:28:29.7591095+08:00;True|2021-08-03T11:35:09.5118324+08:00;True|2021-08-03T11:11:23.3051573+08:00;True|2021-08-02T13:14:42.3663755+08:00;True|2021-07-30T22:50:19.9749878+08:00;True|2021-07-30T22:49:31.2150970+08:00;True|2021-07-28T19:12:05.8381075+08:00;True|2021-07-28T18:59:45.4808797+08:00;True|2021-07-28T18:15:58.8301509+08:00;True|2021-07-28T18:04:54.8613546+08:00;True|2021-07-28T17:53:48.6225611+08:00;True|2021-07-28T17:42:50.9171563+08:00;True|2021-07-28T17:17:16.3137677+08:00;True|2021-07-28T17:11:46.8925200+08:00;True|2021-07-28T16:28:27.6823943+08:00;True|2021-07-28T16:23:00.3385836+08:00;True|2021-07-28T09:57:55.4237411+08:00;True|2021-07-28T08:38:29.6691541+08:00;True|2021-07-27T23:16:32.0331671+08:00;True|2021-07-27T23:06:08.1947249+08:00;True|2021-07-27T23:05:58.4619176+08:00;True|2021-07-27T18:42:09.5358261+08:00;True|2021-07-27T18:30:04.8532823+08:00;True|2021-07-27T18:29:43.5775092+08:00;True|2021-07-27T15:16:49.8356224+08:00;True|2021-07-27T15:05:27.8453220+08:00;True|2021-07-27T14:59:15.9519440+08:00;True|2021-07-27T09:23:32.6111337+08:00;True|2021-07-27T08:27:41.6395353+08:00;True|2021-07-27T08:25:56.7378296+08:00;True|2021-07-26T11:18:46.0856966+08:00;True|2021-07-26T11:18:02.0751924+08:00;True|2021-07-26T11:13:49.6285395+08:00;True|2021-07-21T21:08:25.9898902+08:00;True|2021-07-21T20:09:26.2258104+08:00;True|2021-07-13T16:17:25.8407435+08:00;True|2021-07-13T13:46:13.4309531+08:00;True|2021-07-13T12:29:04.5082461+08:00;True|2021-06-29T13:55:01.6864637+08:00;True|2021-06-29T10:38:52.2206472+08:00;True|2021-06-29T10:10:13.1540749+08:00;True|2021-06-28T14:37:56.3853273+08:00;False|2021-06-28T14:36:57.5726124+08:00;True|2021-06-25T14:17:57.5196108+08:00;True|2021-06-25T13:56:38.9522535+08:00;True|2021-06-24T19:38:32.8766933+08:00;True|2021-06-24T18:26:35.6118833+08:00;True|2021-06-24T18:02:52.8136877+08:00;True|2021-06-24T17:48:49.5851948+08:00;True|2021-06-24T17:45:46.7527572+08:00;True|2021-06-24T15:05:20.1592723+08:00;True|2021-06-23T16:18:15.6814625+08:00;True|2021-06-23T16:05:24.6112343+08:00;True|2021-06-23T15:14:08.2489658+08:00;True|2021-06-23T13:52:58.6029788+08:00;True|2021-06-22T16:11:20.4726923+08:00;True|2021-06-22T16:04:53.7231389+08:00;True|2021-06-22T15:50:59.2583262+08:00;True|2021-06-22T15:38:15.3016140+08:00;True|2021-06-22T15:34:42.9185543+08:00;True|2021-06-22T15:21:55.1419108+08:00;True|2021-06-22T15:07:21.5357494+08:00;True|2021-06-22T15:03:35.0535733+08:00;True|2021-06-22T14:54:47.8802969+08:00;True|2021-06-22T11:19:38.7303011+08:00;True|2021-06-22T08:53:49.2882695+08:00;True|2021-06-22T08:47:54.8286530+08:00;True|2021-06-21T16:27:19.3017700+08:00;True|2021-06-21T15:32:28.7237952+08:00;True|2021-06-21T12:34:02.6329555+08:00;True|2021-06-21T12:24:17.5427495+08:00;True|2021-06-21T10:47:30.6423502+08:00;True|2021-06-21T08:43:20.3026558+08:00;True|2021-06-19T15:10:06.8335499+08:00;True|2021-06-18T15:37:29.5009930+08:00;True|2021-06-18T13:46:35.6283432+08:00;True|2021-06-18T10:00:37.1474954+08:00;True|2021-06-18T09:55:21.8551780+08:00;True|2021-06-18T09:22:27.8432927+08:00;True|2021-06-17T11:17:43.2166430+08:00;True|2021-06-17T09:24:09.8350403+08:00;True|2021-06-16T16:10:47.8564888+08:00;True|2021-06-16T16:04:09.8286582+08:00;True|2021-06-16T15:12:29.9427169+08:00;True|2021-06-16T14:58:45.6801892+08:00;True|2021-06-16T14:46:01.6873221+08:00;True|2021-06-16T11:02:06.1272477+08:00;True|2021-06-16T09:33:56.0223915+08:00;True|2021-06-16T08:50:07.6995413+08:00;True|2021-06-16T08:28:38.7692635+08:00;True|2021-06-16T01:04:19.6282474+08:00;True|2021-06-16T01:03:50.5058323+08:00;False|2021-06-16T01:02:15.3819672+08:00;False|2021-06-16T01:01:38.6171098+08:00;True|2021-06-16T00:34:54.9902044+08:00;True|2021-06-15T23:55:36.2003828+08:00;True|2021-06-15T22:47:17.2192750+08:00;True|2021-06-15T22:42:41.1512585+08:00;True|2021-06-15T22:38:01.7390462+08:00;True|2021-06-15T22:14:11.2060782+08:00;True|2021-06-15T22:12:27.0615357+08:00;True|2021-06-15T22:07:59.9280871+08:00;True|2021-06-15T22:04:21.5051427+08:00;True|2021-06-15T21:25:55.0099814+08:00;True|2021-06-15T19:13:51.3494172+08:00;True|2021-06-15T19:02:17.6844742+08:00;True|2021-06-15T18:47:37.1629411+08:00;False|2021-06-15T18:47:11.0828111+08:00;True|2021-06-15T18:38:26.6620668+08:00;True|2021-06-15T18:33:45.2069831+08:00;True|2021-06-15T18:24:52.0550838+08:00;True|2021-06-15T18:19:43.6999796+08:00;True|2021-06-15T18:08:17.2464506+08:00;True|2021-06-15T18:03:51.3952624+08:00;True|2021-06-15T18:01:20.6141766+08:00;True|2021-06-15T17:59:04.4479416+08:00;True|2021-06-15T17:41:44.6389379+08:00;True|2021-06-15T17:39:03.1565124+08:00;True|2021-06-15T17:34:41.0634638+08:00;True|2021-06-15T17:33:50.4853178+08:00;True|2021-06-15T17:25:38.5914037+08:00;True|2021-06-15T17:22:21.3611360+08:00;True|2021-06-15T17:16:49.4970813+08:00;True|2021-06-15T17:05:28.9389484+08:00;True|2021-06-15T16:52:54.6372199+08:00;True|2021-06-15T16:51:23.9081030+08:00;True|2021-06-15T16:45:40.6017997+08:00;True|2021-06-15T16:41:05.0218887+08:00;True|2021-06-15T16:38:02.8541862+08:00;True|2021-06-15T16:22:10.3118721+08:00;True|2021-06-15T16:12:11.1552506+08:00;True|2021-06-15T15:33:42.0100494+08:00;True|2021-06-15T15:28:39.7145659+08:00;True|2021-06-15T15:15:02.7939125+08:00;True|2021-06-15T14:49:14.2300396+08:00;True|2021-06-15T14:42:28.1198064+08:00;True|2021-06-15T13:30:12.7997686+08:00;True|2021-06-15T13:25:37.7284670+08:00;True|2021-06-15T13:23:43.6207813+08:00;False|2021-06-15T13:23:19.4190232+08:00;True|2021-06-15T13:16:38.5062674+08:00;True|2021-06-15T13:03:31.2055635+08:00;True|2021-06-15T12:58:43.1653215+08:00;True|2021-06-15T12:39:22.8442109+08:00;True|2021-06-15T12:35:09.1288556+08:00;False|2021-06-15T12:33:50.0723143+08:00;True|2021-06-15T11:28:01.9733727+08:00;True|2021-06-15T11:26:26.6569392+08:00;True|2021-06-15T11:22:43.0366435+08:00;True|2021-06-15T11:07:50.1610580+08:00;True|2021-06-15T10:32:59.1925931+08:00;True|2021-06-10T17:16:57.9552310+08:00;True|2021-06-10T16:44:42.2731836+08:00;True|2021-06-10T14:39:27.6745737+08:00;True|2021-06-10T12:15:05.1524413+08:00;True|2021-06-09T18:19:24.1005606+08:00;True|2021-06-09T17:56:09.5646288+08:00;True|2021-06-09T13:34:06.1882292+08:00;True|2021-06-09T13:29:54.5924933+08:00;True|2021-06-09T13:25:55.7520662+08:00;True|2021-06-09T13:07:47.6686811+08:00;True|2021-06-09T12:59:41.2595048+08:00;True|2021-06-09T12:45:27.1305548+08:00;True|2021-06-09T12:29:52.1418191+08:00;True|2021-06-09T12:24:12.7610588+08:00;True|2021-06-09T11:31:25.3409568+08:00;True|2021-06-09T09:57:44.4387175+08:00;True|2021-06-09T09:54:26.5161307+08:00;True|2021-06-09T09:14:14.7288045+08:00;True|2021-06-09T09:10:25.1812139+08:00;True|2021-06-09T08:46:21.6585123+08:00;True|2021-06-08T19:56:55.7192062+08:00;True|2021-06-08T19:52:59.0326821+08:00;True|2021-06-08T19:49:13.6274217+08:00;True|2021-06-08T19:09:22.1038939+08:00;True|2021-06-08T15:28:41.3716247+08:00;True|2021-06-08T15:26:47.2621178+08:00;True|2021-06-08T13:49:45.8936617+08:00;True|2021-06-08T13:43:18.8115502+08:00;True|2021-06-08T10:04:06.2200731+08:00;True|2021-06-08T09:17:10.0470792+08:00;True|2021-06-08T08:44:37.4395849+08:00;True|2021-06-08T00:01:09.3745613+08:00;True|2021-06-07T23:49:31.5196888+08:00;True|2021-06-07T23:41:00.8017855+08:00;True|2021-06-07T23:21:53.1371134+08:00;True|2021-06-07T23:01:27.5712153+08:00;True|2021-06-07T22:36:12.9274014+08:00;True|2021-06-07T22:23:00.6545134+08:00;True|2021-06-07T17:44:47.5686346+08:00;True|2021-06-07T17:17:01.3431233+08:00;True|2021-06-07T16:53:28.9989587+08:00;True|2021-06-07T16:41:10.4975607+08:00;True|2021-06-07T14:21:06.8176477+08:00;True|2021-06-07T14:10:39.0355659+08:00;True|2021-06-07T12:34:31.4562732+08:00;True|2021-06-07T12:28:44.9629488+08:00;True|2021-06-07T10:30:26.9387988+08:00;True|2021-06-07T09:12:14.7658099+08:00;True|2021-06-07T08:37:19.6353792+08:00;True|2021-06-07T08:35:25.2031954+08:00;True|2021-06-05T07:07:32.0541266+08:00;True|2021-06-05T06:44:35.9475270+08:00;True|2021-06-05T06:37:27.4595197+08:00;True|2021-06-05T06:26:59.7663998+08:00;True|2021-06-05T05:43:12.8699318+08:00;True|2021-06-04T17:00:41.2426007+08:00;True|2021-06-04T16:08:03.8078072+08:00;True|2021-06-04T15:47:21.6412616+08:00;True|2021-06-04T15:21:02.4239800+08:00;True|2021-06-04T15:20:37.8641854+08:00;True|2021-06-04T13:38:51.5088395+08:00;True|2021-06-04T10:20:01.7784282+08:00;True|2021-06-04T10:13:50.3548857+08:00;True|2021-06-04T10:11:25.5017821+08:00;True|2021-06-04T10:09:51.6792228+08:00;True|2021-06-04T10:02:39.5851057+08:00;True|2021-06-04T09:30:40.4495494+08:00;True|2021-06-03T13:16:36.0317546+08:00;True|2021-06-03T13:12:47.0402047+08:00;True|2021-06-02T14:37:08.9683351+08:00;True|2021-06-02T14:10:15.7439829+08:00;True|2021-06-02T13:59:46.5841931+08:00;True|2021-06-02T13:25:18.7962660+08:00;True|2021-06-02T13:23:16.2261980+08:00;True|2021-06-01T15:37:32.2495085+08:00;True|2021-06-01T15:21:01.2856122+08:00;True|2021-06-01T15:13:36.7262365+08:00;True|2021-06-01T15:10:26.8905629+08:00;True|2021-06-01T14:56:17.5231551+08:00;True|2021-06-01T14:38:39.7895927+08:00;True|2021-06-01T14:23:12.3265287+08:00;True|2021-03-01T09:11:31.3226422+08:00;True|2021-05-26T14:54:56.9426462+08:00;True|2021-05-26T13:57:33.7780451+08:00;True|2021-05-26T13:39:02.8043358+08:00;True|2021-02-25T16:01:40.2917200+08:00;True|2021-02-25T15:49:46.6681205+08:00;True|2021-02-25T15:16:30.9372640+08:00;True|2021-05-25T13:10:21.7831921+08:00;True|2021-05-25T11:21:38.5224475+08:00;True|2021-05-25T11:12:52.0637175+08:00;True|2021-05-25T11:02:18.4164663+08:00;True|2021-05-25T10:52:06.8998521+08:00;True|2021-05-25T10:50:45.0929606+08:00;True|2021-05-25T10:45:54.1498313+08:00;True|2021-05-25T10:39:27.8602249+08:00;True|2021-05-25T10:34:49.5771162+08:00;True|2021-05-25T10:17:30.3009163+08:00;True|2021-05-25T10:14:03.8512581+08:00;True|2021-05-25T10:05:33.4343836+08:00;True|2021-05-24T17:01:23.3221168+08:00;True|2021-05-24T10:11:24.0197347+08:00;False|2021-05-24T10:11:07.6338995+08:00;</History>
+    <_PublishTargetUrl>D:\缃戠珯鍙戝竷\鏅轰簯MESWMS\API</_PublishTargetUrl>
+    <History>True|2023-07-21T03:13:10.0843656Z;True|2023-07-21T10:56:47.5835580+08:00;True|2023-07-21T10:30:33.0113443+08:00;True|2023-07-20T19:16:37.4936135+08:00;True|2023-07-20T19:00:41.0636578+08:00;True|2023-07-19T13:28:27.8671371+08:00;True|2023-07-19T13:23:42.1880500+08:00;True|2023-07-19T13:19:18.7201227+08:00;True|2023-07-19T13:06:38.9897249+08:00;True|2023-07-19T12:13:11.2061059+08:00;True|2023-07-19T11:45:20.0391356+08:00;True|2023-07-19T11:24:02.5425841+08:00;True|2023-07-19T10:32:06.7915754+08:00;True|2023-07-19T09:51:08.4553434+08:00;True|2023-07-19T09:48:11.2977426+08:00;True|2023-07-18T08:47:44.1724897+08:00;True|2023-07-17T16:25:10.8982872+08:00;True|2023-07-17T14:50:44.3708198+08:00;True|2023-07-17T14:20:26.4686898+08:00;True|2023-07-17T14:18:16.6127136+08:00;True|2023-07-17T14:16:34.9116950+08:00;True|2023-07-17T14:14:44.7988846+08:00;True|2023-07-17T14:06:18.1123806+08:00;True|2023-07-17T14:03:38.5290433+08:00;True|2023-07-17T13:48:54.3096778+08:00;True|2023-07-17T13:23:13.6097762+08:00;True|2023-07-17T09:54:25.9375716+08:00;True|2023-07-17T09:40:22.2531559+08:00;True|2023-07-17T09:21:15.0786649+08:00;True|2023-07-17T09:03:37.2081513+08:00;True|2023-07-16T21:20:45.3036514+08:00;True|2023-07-16T21:09:16.1559694+08:00;True|2023-07-16T21:05:22.2504644+08:00;True|2023-07-16T20:41:26.5956030+08:00;True|2023-07-16T20:19:33.5726613+08:00;True|2023-07-16T19:46:38.6493518+08:00;True|2023-07-14T10:33:17.6270692+08:00;True|2023-07-11T14:34:22.8852169+08:00;True|2023-07-11T14:27:22.7851108+08:00;True|2023-07-11T14:13:21.6512172+08:00;True|2023-07-11T14:06:33.9865646+08:00;True|2023-07-11T13:52:46.2830836+08:00;True|2023-07-11T13:38:56.3165889+08:00;True|2023-07-11T13:29:40.9636697+08:00;True|2023-07-11T13:25:23.0633788+08:00;True|2023-07-11T10:17:40.8002359+08:00;True|2023-07-11T10:15:47.5472709+08:00;True|2023-07-11T10:12:25.6440547+08:00;True|2023-07-11T10:07:39.3716167+08:00;True|2023-07-11T09:22:07.4191357+08:00;True|2023-07-04T13:07:10.1209516+08:00;True|2023-06-30T16:11:25.7541580+08:00;True|2023-06-30T15:39:26.6678989+08:00;True|2023-06-30T15:26:40.6581344+08:00;True|2023-06-30T15:12:57.9906312+08:00;True|2023-06-29T16:39:15.6477820+08:00;True|2023-06-28T17:01:51.9542466+08:00;True|2023-06-27T15:03:28.1320450+08:00;True|2023-06-27T13:36:39.6707848+08:00;True|2023-06-26T09:40:01.1754706+08:00;True|2023-06-25T12:16:28.9080024+08:00;True|2023-06-25T11:51:59.9238461+08:00;True|2023-06-25T11:50:29.3100358+08:00;True|2023-06-25T11:29:28.5338563+08:00;True|2023-06-25T09:10:26.2420288+08:00;True|2023-06-25T09:08:15.0702872+08:00;True|2023-06-25T08:43:15.0806611+08:00;True|2023-06-25T08:41:41.8156616+08:00;True|2023-06-25T08:39:30.6818013+08:00;True|2023-06-25T08:38:18.5996529+08:00;True|2023-06-25T08:36:34.1479706+08:00;True|2023-06-25T08:34:53.9856289+08:00;True|2023-06-25T08:31:24.0298080+08:00;True|2023-06-25T08:15:45.7453280+08:00;True|2023-06-25T08:01:52.7609075+08:00;True|2023-06-24T21:25:23.8938665+08:00;True|2023-06-22T03:02:26.7305758+08:00;True|2023-06-22T02:10:48.8222890+08:00;True|2023-06-22T01:57:41.7875184+08:00;True|2023-06-22T01:52:19.4217362+08:00;True|2023-06-21T16:27:15.1464129+08:00;True|2023-06-21T16:11:46.6111817+08:00;True|2023-06-21T13:14:00.6869253+08:00;True|2023-06-21T13:09:28.2689225+08:00;True|2023-06-21T12:24:02.6762426+08:00;True|2023-06-21T12:18:06.2748924+08:00;True|2023-06-21T11:18:02.6754143+08:00;True|2023-06-21T11:08:34.2149469+08:00;True|2023-06-21T08:20:50.0079906+08:00;True|2023-06-20T15:56:03.2638713+08:00;True|2023-06-20T15:48:38.2419545+08:00;True|2023-06-20T15:35:26.6615171+08:00;True|2023-06-20T15:20:31.9284860+08:00;True|2023-06-20T15:18:39.8265469+08:00;True|2023-06-20T15:09:16.7617272+08:00;True|2023-06-20T09:53:23.2658672+08:00;True|2023-06-16T10:00:58.0337616+08:00;True|2023-06-16T09:47:58.8912904+08:00;True|2023-06-16T09:26:36.4914832+08:00;True|2023-06-15T16:22:21.4509393+08:00;True|2023-06-12T13:21:12.0491357+08:00;True|2023-06-12T10:18:32.9287587+08:00;True|2023-06-09T16:22:24.1132267+08:00;True|2023-06-08T18:12:42.4814009+08:00;True|2023-06-08T11:08:48.0533571+08:00;True|2023-06-08T10:41:43.0121701+08:00;False|2023-06-08T10:40:19.2093235+08:00;True|2023-06-06T13:03:50.8124200+08:00;True|2023-06-05T10:12:24.1858209+08:00;True|2023-06-02T17:02:57.5817094+08:00;True|2023-05-26T13:54:40.2272218+08:00;True|2023-05-24T12:43:50.2427994+08:00;True|2023-05-24T12:34:24.3922836+08:00;True|2023-05-24T10:07:19.4995219+08:00;True|2023-05-24T09:21:29.1960080+08:00;True|2023-05-23T22:34:23.3220912+08:00;True|2023-05-23T22:01:14.4175449+08:00;True|2023-05-23T17:02:53.0308400+08:00;True|2023-05-23T16:30:11.7138623+08:00;True|2023-05-23T15:51:50.0152484+08:00;True|2023-05-23T15:50:52.0657433+08:00;True|2023-05-23T15:28:25.5802377+08:00;True|2023-05-23T15:25:56.4633020+08:00;True|2023-05-23T14:52:29.8759921+08:00;True|2023-05-23T14:48:44.6519763+08:00;True|2023-05-20T04:28:10.3108871+08:00;True|2023-05-20T03:56:22.7233820+08:00;True|2023-05-20T03:47:38.4405026+08:00;True|2023-05-20T03:46:40.6056451+08:00;True|2023-05-20T03:44:25.0883888+08:00;True|2023-05-20T03:41:10.1148691+08:00;True|2023-05-20T02:34:14.3757035+08:00;True|2023-05-20T02:27:50.5595075+08:00;True|2023-05-20T02:23:04.2256041+08:00;True|2023-05-20T01:46:59.9534021+08:00;True|2023-05-20T01:42:33.5106065+08:00;True|2023-05-20T01:40:39.6918060+08:00;True|2023-05-20T01:11:47.7436847+08:00;True|2023-05-20T01:03:58.9476094+08:00;True|2023-05-19T22:59:47.4591129+08:00;True|2023-05-19T22:34:44.7988447+08:00;True|2023-05-19T22:24:55.2320279+08:00;True|2023-05-19T21:40:19.5285575+08:00;True|2023-05-19T21:38:21.2073338+08:00;True|2023-05-19T20:54:59.2058809+08:00;True|2023-05-19T16:08:15.0151080+08:00;True|2023-05-19T15:26:16.2836301+08:00;True|2023-05-19T13:09:06.1592914+08:00;True|2023-05-19T12:24:23.6252771+08:00;True|2023-05-19T11:50:53.8948740+08:00;True|2023-05-19T11:43:57.9296933+08:00;True|2023-05-19T10:44:34.9904463+08:00;True|2023-05-19T09:32:02.1216663+08:00;False|2023-05-19T09:31:06.4251757+08:00;True|2023-05-18T22:34:36.5292968+08:00;True|2023-05-18T20:37:59.7940567+08:00;True|2023-05-18T20:36:35.2790349+08:00;True|2023-05-18T20:34:10.7400457+08:00;True|2023-05-18T20:32:43.8790879+08:00;True|2023-05-18T20:31:13.5389643+08:00;True|2023-05-18T20:29:19.6206139+08:00;True|2023-05-18T20:07:25.5074263+08:00;True|2023-05-18T18:19:43.5324315+08:00;True|2023-05-18T18:15:36.4290026+08:00;True|2023-05-18T18:12:31.8703551+08:00;True|2023-05-18T18:10:52.9289531+08:00;True|2023-05-18T18:09:23.9118797+08:00;True|2023-05-18T17:58:30.8068228+08:00;True|2023-05-18T17:56:55.8055382+08:00;False|2023-05-18T17:54:54.7950789+08:00;False|2023-05-18T17:11:18.2325105+08:00;True|2023-05-18T17:09:24.4186482+08:00;True|2023-05-18T17:06:32.0699130+08:00;False|2023-05-18T17:01:41.8164925+08:00;False|2023-05-18T16:59:32.1112741+08:00;True|2023-05-18T16:58:34.1784100+08:00;True|2023-05-18T16:56:36.9460541+08:00;True|2023-05-18T16:55:00.9843495+08:00;True|2023-05-18T16:49:04.0161640+08:00;True|2023-05-18T16:48:28.9011382+08:00;True|2023-05-18T16:44:52.0675900+08:00;False|2023-05-18T16:44:37.3514214+08:00;False|2023-05-18T16:43:23.3343369+08:00;True|2023-05-18T16:41:35.8818611+08:00;True|2023-05-18T16:25:43.5167900+08:00;False|2023-05-18T16:24:46.6646890+08:00;False|2023-05-18T16:19:55.4153618+08:00;False|2023-05-18T16:16:18.0052881+08:00;False|2023-05-18T16:14:32.3377278+08:00;True|2023-05-17T15:43:45.1868569+08:00;True|2023-05-17T15:35:42.2476880+08:00;True|2023-05-17T14:23:28.2390957+08:00;True|2023-05-17T13:54:00.6756387+08:00;True|2023-05-17T13:45:46.1115068+08:00;True|2023-05-17T07:57:34.7129429+08:00;True|2023-05-16T16:04:20.3198005+08:00;False|2023-05-16T16:03:52.0737233+08:00;True|2023-05-16T15:28:45.4945726+08:00;True|2023-05-16T15:14:10.4952128+08:00;True|2023-05-16T15:04:46.5706346+08:00;True|2023-05-16T14:46:48.7034492+08:00;True|2023-05-16T14:45:29.4047499+08:00;True|2023-05-16T14:42:47.3507679+08:00;True|2023-05-16T14:30:47.9199224+08:00;True|2023-05-16T14:29:10.9147184+08:00;True|2023-05-16T14:27:48.3632687+08:00;True|2023-05-16T14:24:44.6240034+08:00;True|2023-05-16T14:19:41.2962188+08:00;True|2023-05-16T13:41:13.3366211+08:00;True|2023-05-16T13:26:44.1532655+08:00;True|2023-05-16T13:23:40.2882422+08:00;True|2023-05-16T13:11:41.5416792+08:00;True|2023-05-16T13:08:41.6341863+08:00;True|2023-05-16T13:04:35.6916867+08:00;True|2023-05-16T13:00:34.6889598+08:00;True|2023-05-16T12:57:48.4561274+08:00;True|2023-05-16T12:50:57.7405833+08:00;True|2023-05-16T12:49:33.8394829+08:00;True|2023-05-16T12:44:28.6906226+08:00;True|2023-05-16T12:41:08.3554032+08:00;True|2023-05-16T12:32:32.3448036+08:00;True|2023-05-16T11:32:04.4504376+08:00;True|2023-05-15T18:39:28.9172042+08:00;True|2023-05-15T18:35:41.5268755+08:00;True|2023-05-15T18:16:16.2900985+08:00;True|2023-04-28T16:24:40.7430596+08:00;False|2023-04-28T16:21:34.8499384+08:00;True|2023-04-28T15:43:40.3023318+08:00;True|2023-04-28T15:41:18.8228620+08:00;True|2023-04-28T14:16:21.1595325+08:00;True|2023-04-28T10:27:55.2150739+08:00;True|2023-04-12T16:25:26.5218825+08:00;True|2023-04-12T15:45:29.3993255+08:00;True|2023-04-12T14:00:18.1960878+08:00;True|2023-04-12T13:16:39.0804178+08:00;True|2023-04-11T11:02:27.5200402+08:00;True|2023-04-11T09:57:11.5903829+08:00;True|2023-04-10T09:58:01.1775220+08:00;True|2023-03-13T11:19:32.0927720+08:00;True|2023-03-13T10:39:50.9250037+08:00;True|2023-03-13T08:54:57.5891390+08:00;True|2023-03-10T09:00:31.2441735+08:00;True|2023-03-08T08:25:11.1877416+08:00;True|2023-03-06T09:18:03.5502956+08:00;True|2023-03-06T09:14:57.8192971+08:00;True|2023-01-11T13:30:27.8190489+08:00;True|2023-01-06T14:29:14.6067256+08:00;True|2022-12-23T17:06:52.0688439+08:00;True|2022-12-23T16:12:04.4155951+08:00;True|2022-12-23T13:35:44.6439326+08:00;True|2022-11-30T08:24:02.9999976+08:00;True|2022-11-30T08:01:51.4579972+08:00;True|2022-11-29T21:32:14.4359673+08:00;True|2022-11-29T19:30:22.9466023+08:00;True|2022-11-29T19:24:30.1630119+08:00;True|2022-11-29T17:31:43.1926801+08:00;True|2022-11-29T17:14:32.5869985+08:00;True|2022-11-29T10:42:57.1877576+08:00;True|2022-11-27T14:40:28.4784748+08:00;True|2022-11-26T20:49:34.2789400+08:00;True|2022-11-26T19:24:58.9988205+08:00;True|2022-11-26T15:33:08.6274944+08:00;True|2022-11-26T14:37:46.3953592+08:00;True|2022-11-26T09:16:41.7487240+08:00;True|2022-11-24T09:49:50.7302637+08:00;True|2022-11-23T16:24:56.5946914+08:00;True|2022-11-23T16:19:57.5570583+08:00;True|2022-11-23T15:05:13.8032246+08:00;True|2022-11-22T20:24:39.7324815+08:00;True|2022-11-22T13:18:16.2143925+08:00;False|2022-11-22T13:12:53.0448580+08:00;True|2022-11-22T11:03:01.7571733+08:00;True|2022-11-21T13:20:11.1961237+08:00;True|2022-11-21T13:13:52.0360749+08:00;True|2022-11-18T15:48:13.0747365+08:00;True|2022-11-18T14:15:54.5626901+08:00;True|2022-11-17T18:41:26.5464503+08:00;True|2022-11-15T13:55:35.3496366+08:00;True|2022-11-15T11:03:23.6773297+08:00;True|2022-11-15T10:58:47.9703720+08:00;True|2022-11-15T10:12:27.8305782+08:00;True|2022-11-15T09:47:26.7480777+08:00;True|2022-11-15T08:55:44.0275263+08:00;True|2022-11-15T08:54:06.6396851+08:00;True|2022-11-15T08:44:18.2013404+08:00;True|2022-11-15T01:16:19.8154538+08:00;True|2022-11-15T01:15:03.7846810+08:00;True|2022-11-15T01:01:11.0318599+08:00;True|2022-11-15T00:30:33.7148460+08:00;True|2022-11-15T00:15:26.5178283+08:00;True|2022-11-14T23:54:32.6128172+08:00;True|2022-11-14T23:26:52.0335380+08:00;True|2022-11-14T22:21:28.0622050+08:00;True|2022-11-14T21:47:43.6964619+08:00;True|2022-11-14T21:41:42.3128804+08:00;True|2022-11-14T21:31:17.2784203+08:00;True|2022-11-14T20:48:20.0380343+08:00;True|2022-11-11T17:24:44.7029993+08:00;True|2022-11-11T16:47:29.3444029+08:00;True|2022-11-11T16:07:26.4718473+08:00;True|2022-11-11T15:52:41.7235701+08:00;True|2022-11-10T15:58:10.8883176+08:00;True|2022-11-10T15:29:59.3113740+08:00;True|2022-11-10T13:34:14.7380132+08:00;True|2022-11-10T10:28:02.1166569+08:00;True|2022-11-09T23:28:25.6401971+08:00;True|2022-11-09T16:20:53.2757536+08:00;True|2022-11-09T16:16:41.3169214+08:00;True|2022-11-09T14:02:55.1802832+08:00;True|2022-11-09T13:57:55.2726154+08:00;True|2022-11-09T13:28:53.2022669+08:00;True|2022-11-09T13:10:58.0740163+08:00;True|2022-11-09T12:59:42.2328933+08:00;True|2022-11-09T11:54:08.0187924+08:00;True|2022-11-09T11:49:32.4296758+08:00;True|2022-11-09T11:34:32.6613370+08:00;True|2022-11-09T11:06:56.9443306+08:00;True|2022-11-06T23:43:44.0833657+08:00;True|2022-11-06T23:29:52.0088244+08:00;True|2022-11-06T22:06:14.7091464+08:00;True|2022-11-06T22:03:25.2696951+08:00;True|2022-11-06T21:58:50.1055520+08:00;True|2022-11-06T21:54:14.0075395+08:00;True|2022-11-06T21:39:30.2652105+08:00;True|2022-11-04T15:54:37.9813194+08:00;True|2022-11-04T15:43:59.7702621+08:00;True|2022-11-04T13:59:29.3941234+08:00;True|2022-11-04T13:44:18.1212719+08:00;True|2022-11-04T13:42:06.1010393+08:00;True|2022-11-04T13:37:01.7814703+08:00;True|2022-11-04T13:35:43.1121709+08:00;True|2022-11-04T13:33:05.1362535+08:00;True|2022-11-04T13:30:11.1113703+08:00;True|2022-11-04T13:28:53.7185382+08:00;True|2022-11-04T13:27:08.0691684+08:00;True|2022-11-04T13:20:46.2297633+08:00;True|2022-11-04T13:17:57.1564250+08:00;True|2022-11-04T13:15:36.3651019+08:00;True|2022-11-04T13:13:44.6635701+08:00;True|2022-11-04T13:12:02.3968306+08:00;True|2022-11-04T13:08:07.7653927+08:00;True|2022-11-04T11:37:44.1975649+08:00;True|2022-11-04T11:36:20.3813848+08:00;True|2022-11-04T11:26:40.9713465+08:00;True|2022-11-04T10:17:36.4269558+08:00;True|2022-11-04T09:47:05.4607111+08:00;True|2022-11-04T09:28:27.9347785+08:00;True|2022-11-04T08:38:38.5253737+08:00;True|2022-11-03T13:31:32.7883545+08:00;False|2022-11-03T13:27:07.8579021+08:00;True|2022-11-03T11:07:07.3903101+08:00;True|2022-11-03T10:54:26.7818816+08:00;True|2022-11-03T10:35:59.1956262+08:00;True|2022-11-03T10:30:07.0651285+08:00;True|2022-11-03T10:01:20.8467911+08:00;True|2022-08-22T11:13:33.9211829+08:00;True|2022-06-17T11:19:24.4893458+08:00;True|2022-06-07T14:44:51.5702202+08:00;True|2022-06-07T14:42:44.8351600+08:00;True|2022-05-17T14:19:55.1158182+08:00;True|2022-05-17T13:25:44.2886247+08:00;True|2022-05-17T10:29:26.6813564+08:00;True|2022-05-17T09:02:49.1742018+08:00;True|2022-05-06T15:13:12.2438900+08:00;True|2022-05-06T14:49:39.8536594+08:00;True|2022-04-22T17:07:44.8823529+08:00;True|2022-04-19T19:13:40.8312746+08:00;True|2022-04-19T15:40:16.0022040+08:00;True|2022-04-19T15:13:32.9767736+08:00;False|2022-04-19T15:08:33.6507639+08:00;True|2022-04-19T15:02:51.9580210+08:00;True|2022-04-19T13:54:18.7579131+08:00;True|2022-04-12T10:36:02.1779173+08:00;True|2022-04-12T10:05:31.0222037+08:00;True|2022-04-12T09:47:49.3724819+08:00;True|2022-04-09T15:08:54.5697468+08:00;True|2022-04-08T17:31:31.0046258+08:00;True|2022-04-08T16:50:41.3018422+08:00;True|2022-04-08T10:35:36.5029980+08:00;True|2022-03-31T09:38:37.3646053+08:00;True|2022-03-29T13:57:45.4410942+08:00;True|2022-03-10T18:59:23.7994337+08:00;True|2022-03-10T18:52:39.5019082+08:00;True|2022-03-10T18:51:12.7949284+08:00;True|2022-03-10T18:50:47.2024177+08:00;True|2022-03-10T18:45:08.8409380+08:00;True|2022-03-10T18:41:17.0102564+08:00;True|2022-03-10T18:35:49.0742353+08:00;True|2022-03-10T17:57:47.4196965+08:00;True|2022-03-10T17:34:27.5723245+08:00;True|2022-03-10T16:13:59.3829164+08:00;True|2022-03-09T14:50:49.1222033+08:00;True|2022-03-09T11:21:03.0073651+08:00;False|2022-03-09T11:16:56.1792896+08:00;False|2022-03-09T11:16:49.7923320+08:00;True|2022-03-08T15:47:47.4722336+08:00;True|2022-03-08T15:47:28.5397115+08:00;True|2022-03-08T15:37:08.7379870+08:00;True|2022-03-02T17:37:54.4659976+08:00;True|2022-03-02T17:34:12.2949726+08:00;True|2022-03-02T17:26:38.7070673+08:00;True|2022-03-02T17:07:49.7024316+08:00;True|2022-03-02T17:05:22.4177336+08:00;True|2022-03-02T16:14:57.9880587+08:00;True|2022-03-01T17:52:52.6766959+08:00;True|2022-02-28T14:36:22.6449303+08:00;True|2022-02-24T15:43:36.8244163+08:00;True|2022-02-23T17:57:14.3693224+08:00;True|2022-02-23T17:46:42.1078183+08:00;False|2022-02-23T17:41:06.5886724+08:00;True|2022-02-23T16:59:45.5533581+08:00;True|2022-02-23T16:57:43.3328895+08:00;True|2022-02-21T09:09:37.2601134+08:00;True|2022-02-21T09:03:32.4071009+08:00;True|2022-02-21T08:59:59.0172082+08:00;True|2022-02-18T14:05:39.1358825+08:00;True|2022-02-18T10:23:02.4391239+08:00;True|2022-02-18T10:21:31.0559267+08:00;True|2022-02-17T16:50:11.7192509+08:00;True|2022-02-17T13:19:13.7697894+08:00;True|2022-02-11T10:36:12.7757100+08:00;True|2022-02-10T10:54:25.2685040+08:00;True|2022-02-10T10:37:02.1034768+08:00;True|2022-02-09T17:32:45.6511283+08:00;True|2022-02-09T17:24:32.5115193+08:00;True|2022-02-09T17:00:24.0662114+08:00;True|2022-02-09T16:56:42.3364622+08:00;True|2022-02-09T14:17:25.8688855+08:00;True|2022-02-09T14:11:51.6149822+08:00;True|2022-02-07T23:29:26.2842648+08:00;True|2022-02-07T23:28:58.8242274+08:00;False|2022-02-07T23:25:29.0647793+08:00;True|2022-02-07T13:06:37.5515985+08:00;True|2022-02-07T12:42:19.5220491+08:00;True|2022-02-07T09:52:59.6728595+08:00;True|2022-02-01T11:32:10.5831557+08:00;True|2022-01-29T14:09:02.9178986+08:00;True|2022-01-28T12:01:45.1416438+08:00;True|2022-01-28T11:03:41.6361866+08:00;True|2022-01-28T10:44:53.5367862+08:00;True|2022-01-28T10:40:41.6697563+08:00;True|2022-01-28T10:25:56.7093616+08:00;True|2022-01-28T09:58:13.0733060+08:00;True|2022-01-27T09:26:29.6568807+08:00;True|2022-01-27T00:47:57.9102528+08:00;True|2022-01-27T00:46:52.8845001+08:00;True|2022-01-27T00:36:34.5330938+08:00;True|2022-01-27T00:35:19.5439329+08:00;True|2022-01-27T00:33:38.5701950+08:00;True|2022-01-27T00:32:00.9028982+08:00;True|2022-01-27T00:30:13.2390921+08:00;True|2022-01-27T00:28:23.2989144+08:00;True|2022-01-27T00:16:01.3789455+08:00;True|2022-01-27T00:09:58.8112352+08:00;True|2022-01-27T00:00:40.8353538+08:00;True|2022-01-26T23:37:50.9494735+08:00;True|2022-01-26T23:29:39.8647473+08:00;True|2022-01-26T23:20:49.3274392+08:00;True|2022-01-26T23:15:53.7037293+08:00;True|2022-01-26T23:06:28.8595953+08:00;True|2022-01-26T23:02:12.9882299+08:00;True|2022-01-26T22:55:33.2535730+08:00;True|2022-01-26T22:51:01.8427947+08:00;True|2022-01-26T22:47:44.0715387+08:00;True|2022-01-26T22:20:21.7217039+08:00;True|2022-01-26T22:13:39.5372069+08:00;True|2022-01-26T22:01:31.2113177+08:00;True|2022-01-26T21:55:26.5478921+08:00;True|2022-01-26T21:50:18.2700369+08:00;True|2022-01-26T21:48:52.0020233+08:00;True|2022-01-26T19:19:29.4530523+08:00;True|2022-01-26T19:07:21.6474231+08:00;True|2022-01-26T18:25:42.2933291+08:00;True|2022-01-26T12:39:02.0149050+08:00;True|2022-01-26T12:13:43.9149452+08:00;True|2022-01-26T11:24:33.5742248+08:00;True|2022-01-26T08:51:10.8105076+08:00;True|2022-01-25T21:07:32.9069261+08:00;True|2022-01-24T01:35:12.3309466+08:00;True|2022-01-23T23:19:15.9702821+08:00;True|2022-01-23T21:50:41.6903353+08:00;True|2022-01-23T21:25:57.6084267+08:00;True|2022-01-23T21:16:10.1516535+08:00;True|2022-01-23T20:52:08.3745284+08:00;True|2022-01-23T18:19:32.2386502+08:00;True|2022-01-23T18:11:42.0830325+08:00;True|2022-01-23T18:00:01.3239547+08:00;True|2022-01-23T12:18:48.2466943+08:00;True|2022-01-22T00:48:50.4531647+08:00;True|2022-01-21T13:10:32.8173598+08:00;True|2022-01-21T13:04:01.6388059+08:00;True|2022-01-21T12:51:40.5304103+08:00;True|2022-01-21T12:44:06.3059885+08:00;True|2022-01-21T12:34:33.9314010+08:00;True|2022-01-21T11:39:20.1088577+08:00;True|2022-01-20T11:33:49.0516846+08:00;True|2022-01-20T10:02:12.0295471+08:00;True|2022-01-20T10:02:03.3535503+08:00;True|2022-01-19T23:56:18.7293193+08:00;True|2022-01-19T22:30:14.6986228+08:00;True|2022-01-19T22:15:08.8608795+08:00;True|2022-01-19T21:57:55.2295030+08:00;True|2022-01-19T13:50:37.8588759+08:00;True|2022-01-19T13:42:52.9761531+08:00;True|2022-01-19T00:26:36.9722917+08:00;True|2022-01-19T00:15:30.8583143+08:00;True|2022-01-18T21:19:30.6193048+08:00;True|2022-01-18T21:12:07.1453825+08:00;True|2022-01-18T20:35:27.3779956+08:00;True|2022-01-18T17:44:45.2318570+08:00;True|2022-01-18T14:45:29.0299640+08:00;True|2022-01-17T22:23:20.8214203+08:00;True|2022-01-17T21:49:15.7740045+08:00;True|2022-01-17T21:47:24.6997598+08:00;True|2022-01-17T21:44:00.1942787+08:00;True|2022-01-17T21:43:15.5992687+08:00;True|2022-01-17T21:33:16.8034756+08:00;True|2022-01-17T21:25:39.9909343+08:00;True|2022-01-17T21:13:03.9659338+08:00;True|2022-01-17T20:32:14.8869091+08:00;True|2022-01-17T19:01:46.5753686+08:00;True|2022-01-17T18:31:24.1032169+08:00;True|2022-01-17T18:21:39.2918684+08:00;True|2022-01-17T18:12:07.4859038+08:00;True|2022-01-17T18:09:26.6989718+08:00;True|2022-01-17T18:04:36.7564997+08:00;True|2022-01-17T17:57:44.7814863+08:00;True|2022-01-17T17:51:50.1516107+08:00;True|2022-01-17T17:39:29.2918799+08:00;True|2022-01-17T14:55:21.5859341+08:00;True|2022-01-17T14:38:06.5091500+08:00;True|2022-01-17T14:30:25.5378436+08:00;True|2022-01-16T19:15:24.5874858+08:00;True|2022-01-16T19:07:49.0613424+08:00;True|2022-01-16T16:10:47.3112741+08:00;False|2022-01-14T19:09:41.9296709+08:00;False|2022-01-14T18:56:11.0569808+08:00;False|2022-01-14T18:28:20.1376762+08:00;False|2022-01-14T18:27:30.8678130+08:00;False|2022-01-14T18:22:45.4436504+08:00;False|2022-01-14T18:19:37.0374753+08:00;False|2022-01-14T18:18:48.5868254+08:00;False|2022-01-14T18:14:02.5810257+08:00;False|2022-01-14T18:09:51.1730754+08:00;False|2022-01-14T18:09:17.8940754+08:00;True|2022-01-13T20:08:16.2937608+08:00;True|2022-01-13T20:07:30.1505466+08:00;True|2022-01-13T13:39:42.0146294+08:00;True|2022-01-13T13:38:07.5062471+08:00;True|2022-01-13T11:29:49.3751232+08:00;True|2022-01-13T11:05:43.9574142+08:00;True|2022-01-13T10:33:23.1921058+08:00;True|2022-01-12T20:38:16.9165651+08:00;True|2022-01-12T20:24:46.3779264+08:00;True|2022-01-12T20:03:06.5030626+08:00;True|2022-01-12T19:44:55.4294326+08:00;True|2022-01-12T12:58:45.9548600+08:00;True|2022-01-12T11:28:44.7797749+08:00;True|2022-01-11T18:07:30.9151356+08:00;True|2022-01-11T15:06:32.7301609+08:00;True|2022-01-11T09:27:00.1766442+08:00;True|2021-12-30T14:41:56.8541015+08:00;True|2021-12-30T13:45:00.6130694+08:00;True|2021-12-30T13:44:18.7370780+08:00;True|2021-12-30T13:36:52.8171136+08:00;True|2021-12-28T19:14:22.5979649+08:00;True|2021-12-28T13:13:39.3543252+08:00;True|2021-12-27T15:31:26.6037782+08:00;True|2021-12-27T15:28:54.4824480+08:00;True|2021-12-27T15:22:47.8436108+08:00;True|2021-12-27T15:04:37.0711590+08:00;True|2021-12-27T15:03:52.0932499+08:00;True|2021-12-27T15:03:33.0172733+08:00;True|2021-12-27T13:28:27.4252747+08:00;True|2021-12-25T19:38:33.6784042+08:00;True|2021-12-24T20:47:43.3471563+08:00;True|2021-12-24T20:14:57.6946814+08:00;True|2021-12-24T19:55:21.1843105+08:00;True|2021-12-24T19:49:54.6719726+08:00;True|2021-12-24T19:38:14.1180741+08:00;True|2021-12-22T13:51:37.1082523+08:00;True|2021-12-21T15:38:59.8015096+08:00;True|2021-12-21T15:29:54.8095063+08:00;False|2021-12-21T15:29:21.7006531+08:00;False|2021-12-21T15:16:18.2218025+08:00;False|2021-12-21T15:11:38.1215841+08:00;False|2021-12-21T15:08:27.0590078+08:00;True|2021-12-10T14:12:36.4065298+08:00;True|2021-12-10T13:54:03.4921778+08:00;True|2021-12-10T13:25:49.0439086+08:00;True|2021-12-10T13:19:58.9494477+08:00;True|2021-12-10T13:10:45.3929017+08:00;True|2021-12-10T11:06:53.2416794+08:00;True|2021-12-07T17:23:28.9380484+08:00;True|2021-12-07T17:13:52.4384814+08:00;True|2021-12-07T16:39:49.2020208+08:00;True|2021-12-07T15:18:20.9024533+08:00;True|2021-12-07T15:07:35.4428035+08:00;True|2021-12-07T15:01:02.0445043+08:00;True|2021-12-07T14:50:08.9019705+08:00;True|2021-12-07T14:34:50.4993666+08:00;False|2021-12-07T14:32:56.0408332+08:00;True|2021-12-06T17:11:41.4004606+08:00;True|2021-12-06T16:48:07.6029757+08:00;True|2021-12-06T13:46:35.9437718+08:00;True|2021-12-06T13:45:07.6622615+08:00;True|2021-12-06T11:25:04.3483155+08:00;True|2021-12-06T11:18:24.5804187+08:00;True|2021-11-22T16:27:05.4241947+08:00;True|2021-11-22T13:40:17.6768280+08:00;True|2021-11-19T16:15:19.9085104+08:00;True|2021-11-09T10:34:21.1623512+08:00;True|2021-11-07T16:57:59.7380254+08:00;True|2021-11-07T16:53:47.4198852+08:00;True|2021-11-07T16:42:05.5096826+08:00;True|2021-11-07T16:37:21.0729013+08:00;True|2021-11-05T20:51:17.6170717+08:00;True|2021-11-05T20:35:14.6250333+08:00;True|2021-11-05T19:30:19.8374158+08:00;True|2021-11-05T19:22:46.2276569+08:00;True|2021-11-05T19:20:30.8253213+08:00;True|2021-11-05T19:16:45.7553310+08:00;True|2021-11-05T19:16:00.4532689+08:00;True|2021-11-05T19:12:25.9022478+08:00;False|2021-11-05T19:11:26.5753529+08:00;True|2021-11-05T19:09:30.0085433+08:00;True|2021-11-05T18:48:19.9395153+08:00;True|2021-11-05T18:45:34.3437897+08:00;True|2021-11-05T18:43:43.4558159+08:00;True|2021-11-05T18:40:40.9948500+08:00;True|2021-11-05T18:34:18.4440455+08:00;True|2021-11-05T15:54:51.6037132+08:00;True|2021-10-28T16:27:53.9728270+08:00;True|2021-10-28T16:03:59.5629998+08:00;True|2021-10-28T08:51:04.2549186+08:00;True|2021-10-27T15:14:53.5506098+08:00;True|2021-10-27T15:00:44.9100320+08:00;True|2021-10-27T13:14:46.7921647+08:00;True|2021-10-27T11:24:49.4550753+08:00;True|2021-10-27T10:10:10.3545125+08:00;True|2021-10-27T10:02:24.9248610+08:00;True|2021-10-27T09:59:40.3795897+08:00;True|2021-10-27T09:56:30.6629207+08:00;True|2021-10-27T09:10:48.3883432+08:00;True|2021-10-27T09:03:31.9191991+08:00;True|2021-10-27T08:59:59.7651159+08:00;True|2021-10-27T08:36:11.8620997+08:00;True|2021-10-27T08:26:40.2533014+08:00;True|2021-10-26T09:19:35.5674748+08:00;True|2021-10-26T09:17:17.6900747+08:00;True|2021-10-26T09:14:32.3999220+08:00;True|2021-10-25T15:08:21.2581763+08:00;True|2021-10-25T10:01:57.8524903+08:00;True|2021-10-25T09:28:51.6294879+08:00;True|2021-10-25T09:25:50.3373336+08:00;True|2021-10-25T09:23:37.0203978+08:00;True|2021-10-25T09:18:23.3380608+08:00;True|2021-10-25T09:15:10.5292071+08:00;True|2021-10-25T08:56:30.4632027+08:00;True|2021-10-25T08:50:11.4697392+08:00;True|2021-10-22T13:46:49.7207066+08:00;True|2021-10-22T10:06:33.3130089+08:00;True|2021-10-20T14:32:10.1235516+08:00;True|2021-10-20T14:16:18.6496291+08:00;True|2021-10-20T14:08:49.2443715+08:00;True|2021-10-20T14:05:14.6847950+08:00;True|2021-10-20T13:30:21.6057636+08:00;True|2021-10-20T10:55:22.2151716+08:00;True|2021-10-19T10:42:13.4198267+08:00;True|2021-10-19T10:01:41.0018108+08:00;True|2021-10-19T09:59:11.2127619+08:00;True|2021-10-19T09:54:04.8472874+08:00;True|2021-10-15T11:19:15.5327495+08:00;True|2021-10-15T11:17:41.0686485+08:00;True|2021-10-15T11:12:11.8295042+08:00;True|2021-10-15T10:33:31.5670079+08:00;True|2021-10-15T10:27:45.0815146+08:00;True|2021-10-14T14:51:28.5331025+08:00;True|2021-10-14T14:37:28.3276051+08:00;True|2021-10-14T14:23:39.0606792+08:00;True|2021-10-14T14:21:03.8140347+08:00;True|2021-10-13T10:31:10.6628977+08:00;True|2021-10-13T10:12:24.4238027+08:00;True|2021-10-13T08:47:43.9314486+08:00;True|2021-10-12T14:07:18.6065183+08:00;True|2021-10-12T10:34:10.1682362+08:00;True|2021-10-12T10:27:14.3073332+08:00;True|2021-10-12T10:22:08.0004619+08:00;True|2021-10-12T10:21:03.0275378+08:00;True|2021-10-12T10:11:54.9812692+08:00;True|2021-10-11T16:59:07.3568342+08:00;True|2021-10-11T16:53:14.2016138+08:00;True|2021-10-11T16:21:35.0133775+08:00;True|2021-10-11T15:34:19.5731935+08:00;True|2021-10-11T15:31:07.5780983+08:00;True|2021-10-11T15:06:47.1145237+08:00;True|2021-10-11T15:03:25.5000280+08:00;True|2021-10-11T10:12:57.6416898+08:00;True|2021-10-09T10:15:17.9235165+08:00;True|2021-10-09T10:13:51.3318441+08:00;True|2021-10-09T10:01:21.6661542+08:00;True|2021-10-09T09:58:41.9225837+08:00;True|2021-10-08T14:56:49.7935800+08:00;True|2021-10-08T14:35:41.4490063+08:00;True|2021-10-08T14:02:42.6990656+08:00;True|2021-09-29T15:48:55.1547397+08:00;True|2021-09-29T15:48:23.5567191+08:00;True|2021-09-27T16:17:35.7180978+08:00;True|2021-09-27T15:51:50.4240134+08:00;True|2021-09-23T20:55:27.3554447+08:00;True|2021-09-23T14:14:44.0572017+08:00;True|2021-09-23T13:51:56.2344673+08:00;True|2021-09-23T10:46:16.7417007+08:00;True|2021-09-23T10:42:23.2117537+08:00;True|2021-09-22T15:21:22.9615672+08:00;True|2021-09-22T14:23:32.7907754+08:00;True|2021-09-22T13:48:03.4780947+08:00;True|2021-09-22T11:05:24.5249356+08:00;True|2021-09-22T10:00:19.0962943+08:00;True|2021-09-22T09:30:26.2686514+08:00;True|2021-09-17T11:22:34.5692792+08:00;True|2021-09-16T16:11:27.5372277+08:00;True|2021-09-16T14:53:40.8396557+08:00;True|2021-09-16T14:32:29.7905500+08:00;True|2021-09-16T14:26:46.2224219+08:00;True|2021-09-16T10:32:24.4244440+08:00;True|2021-09-15T11:10:35.3529360+08:00;True|2021-09-15T11:08:30.0857376+08:00;True|2021-09-15T11:05:56.7191571+08:00;True|2021-09-14T01:24:39.8041136+08:00;True|2021-09-14T01:05:01.1593327+08:00;True|2021-09-14T00:44:14.7233198+08:00;True|2021-09-13T23:48:19.4506233+08:00;True|2021-09-13T20:30:31.3243872+08:00;True|2021-09-13T19:45:35.9108911+08:00;False|2021-09-13T19:44:59.2779092+08:00;True|2021-09-13T18:09:22.4994381+08:00;True|2021-09-10T14:18:27.5788854+08:00;True|2021-09-09T15:57:01.7407207+08:00;True|2021-09-09T15:49:34.2598998+08:00;True|2021-09-09T11:32:10.7853024+08:00;True|2021-09-09T11:10:48.6840025+08:00;True|2021-09-09T10:35:37.3883078+08:00;True|2021-09-07T14:11:49.8497588+08:00;True|2021-09-07T13:34:48.4693349+08:00;True|2021-09-06T14:33:48.7549675+08:00;True|2021-09-03T16:27:51.1888520+08:00;True|2021-09-03T16:19:35.9003465+08:00;True|2021-09-03T15:46:28.1828032+08:00;True|2021-09-03T15:34:21.9362871+08:00;True|2021-09-03T11:24:49.8749819+08:00;True|2021-09-03T11:21:17.8373159+08:00;True|2021-09-03T11:16:53.2208136+08:00;True|2021-09-03T11:12:23.9063804+08:00;True|2021-09-03T09:11:09.2435721+08:00;True|2021-09-02T11:16:15.1370453+08:00;True|2021-09-02T10:35:39.1171879+08:00;True|2021-09-01T10:17:09.4536285+08:00;True|2021-09-01T09:46:28.4581776+08:00;True|2021-08-31T08:54:26.8588887+08:00;True|2021-08-31T08:39:08.3685693+08:00;True|2021-08-30T17:11:56.8438985+08:00;True|2021-08-30T15:59:42.0820292+08:00;True|2021-08-30T15:45:18.1868510+08:00;True|2021-08-30T14:56:08.3958863+08:00;True|2021-08-30T14:37:11.5379830+08:00;True|2021-08-30T14:35:34.8775934+08:00;True|2021-08-30T14:24:36.5111821+08:00;True|2021-08-30T10:05:49.6945200+08:00;True|2021-08-30T10:03:28.4064538+08:00;True|2021-08-30T10:00:16.8360929+08:00;True|2021-08-30T09:56:09.4434379+08:00;True|2021-08-30T09:55:36.1725334+08:00;True|2021-08-30T09:52:04.8600054+08:00;True|2021-08-30T09:47:46.4225655+08:00;True|2021-08-30T09:45:20.4894962+08:00;False|2021-08-27T17:17:34.2646751+08:00;False|2021-08-27T16:01:21.2791979+08:00;False|2021-08-27T15:58:06.9667160+08:00;False|2021-08-27T15:38:37.4818036+08:00;False|2021-08-27T15:21:02.8863114+08:00;False|2021-08-27T15:20:28.6828668+08:00;True|2021-08-26T16:00:44.3162145+08:00;True|2021-08-26T08:57:31.3842587+08:00;True|2021-08-23T08:43:41.1549775+08:00;True|2021-08-22T09:24:12.7210871+08:00;True|2021-08-22T09:19:53.8300229+08:00;True|2021-08-20T20:00:52.0140407+08:00;True|2021-08-20T19:40:14.7712765+08:00;True|2021-08-19T17:37:54.9748049+08:00;True|2021-08-19T17:20:11.0515687+08:00;True|2021-08-19T16:12:35.4392809+08:00;True|2021-08-19T16:06:50.6204587+08:00;True|2021-08-19T16:03:53.0824286+08:00;True|2021-08-19T15:56:01.3498791+08:00;True|2021-08-19T10:18:50.8113630+08:00;True|2021-08-19T09:58:06.2784035+08:00;True|2021-08-19T09:56:54.0619777+08:00;True|2021-08-19T00:32:08.3503093+08:00;True|2021-08-19T00:11:18.3150227+08:00;True|2021-08-19T00:02:49.4827718+08:00;True|2021-08-18T23:54:45.4845900+08:00;True|2021-08-18T23:39:51.6147977+08:00;True|2021-08-18T23:16:42.7214379+08:00;True|2021-08-18T22:38:57.4681929+08:00;True|2021-08-18T21:41:58.7560707+08:00;True|2021-08-18T21:11:52.2369249+08:00;True|2021-08-18T21:01:49.5669106+08:00;True|2021-08-18T20:47:46.5352688+08:00;False|2021-08-18T20:46:36.7956141+08:00;False|2021-08-18T20:46:01.0502138+08:00;True|2021-08-18T19:39:12.8186242+08:00;False|2021-08-18T19:38:12.6839708+08:00;True|2021-08-18T19:15:51.4626694+08:00;True|2021-08-18T16:07:20.4350886+08:00;True|2021-08-18T14:29:41.7171934+08:00;True|2021-08-18T14:20:36.3647361+08:00;True|2021-08-16T09:08:58.3617662+08:00;True|2021-08-15T20:44:29.9214083+08:00;True|2021-08-15T20:36:17.0958549+08:00;True|2021-08-15T20:29:34.3879773+08:00;True|2021-08-15T20:23:47.4052038+08:00;True|2021-08-15T15:01:19.7830862+08:00;True|2021-08-15T12:15:18.3433782+08:00;True|2021-08-13T20:59:11.3947130+08:00;True|2021-08-06T22:49:09.9538339+08:00;True|2021-08-06T22:35:19.0418168+08:00;True|2021-08-06T20:29:47.4241975+08:00;True|2021-08-06T14:08:16.4791827+08:00;True|2021-08-06T13:59:28.9874611+08:00;True|2021-08-06T13:57:34.3723977+08:00;True|2021-08-06T13:36:03.4816652+08:00;True|2021-08-06T12:22:52.5055221+08:00;True|2021-08-06T09:31:58.1272499+08:00;True|2021-08-06T09:26:51.6310039+08:00;True|2021-08-06T09:24:22.2899244+08:00;True|2021-08-06T09:06:30.6477912+08:00;True|2021-08-06T09:00:55.5101612+08:00;True|2021-08-06T08:49:59.9616490+08:00;True|2021-08-06T08:45:18.8586902+08:00;True|2021-08-05T20:09:25.8861998+08:00;True|2021-08-04T19:14:27.2396953+08:00;True|2021-08-04T19:11:47.5849093+08:00;True|2021-08-04T16:42:54.0149043+08:00;True|2021-08-04T15:02:11.5056561+08:00;True|2021-08-04T14:58:37.1435509+08:00;True|2021-08-04T14:55:34.7380132+08:00;True|2021-08-04T14:47:42.5933921+08:00;True|2021-08-04T14:45:17.9911874+08:00;True|2021-08-04T13:52:20.9601351+08:00;True|2021-08-04T09:48:28.8796992+08:00;True|2021-08-03T18:14:13.1894998+08:00;True|2021-08-03T17:45:35.1349721+08:00;True|2021-08-03T17:21:52.6028977+08:00;True|2021-08-03T17:20:35.4423020+08:00;True|2021-08-03T17:03:33.1667669+08:00;True|2021-08-03T17:01:54.2656787+08:00;True|2021-08-03T17:00:22.2778374+08:00;True|2021-08-03T16:56:58.8902582+08:00;True|2021-08-03T15:02:21.8601533+08:00;True|2021-08-03T14:57:34.0186758+08:00;True|2021-08-03T14:28:47.2242515+08:00;True|2021-08-03T14:22:22.4554236+08:00;True|2021-08-03T14:21:51.1339715+08:00;True|2021-08-03T13:37:33.9697131+08:00;True|2021-08-03T13:28:29.7591095+08:00;True|2021-08-03T11:35:09.5118324+08:00;True|2021-08-03T11:11:23.3051573+08:00;True|2021-08-02T13:14:42.3663755+08:00;True|2021-07-30T22:50:19.9749878+08:00;True|2021-07-30T22:49:31.2150970+08:00;True|2021-07-28T19:12:05.8381075+08:00;True|2021-07-28T18:59:45.4808797+08:00;True|2021-07-28T18:15:58.8301509+08:00;True|2021-07-28T18:04:54.8613546+08:00;True|2021-07-28T17:53:48.6225611+08:00;True|2021-07-28T17:42:50.9171563+08:00;True|2021-07-28T17:17:16.3137677+08:00;True|2021-07-28T17:11:46.8925200+08:00;True|2021-07-28T16:28:27.6823943+08:00;True|2021-07-28T16:23:00.3385836+08:00;True|2021-07-28T09:57:55.4237411+08:00;True|2021-07-28T08:38:29.6691541+08:00;True|2021-07-27T23:16:32.0331671+08:00;True|2021-07-27T23:06:08.1947249+08:00;True|2021-07-27T23:05:58.4619176+08:00;True|2021-07-27T18:42:09.5358261+08:00;True|2021-07-27T18:30:04.8532823+08:00;True|2021-07-27T18:29:43.5775092+08:00;True|2021-07-27T15:16:49.8356224+08:00;True|2021-07-27T15:05:27.8453220+08:00;True|2021-07-27T14:59:15.9519440+08:00;True|2021-07-27T09:23:32.6111337+08:00;True|2021-07-27T08:27:41.6395353+08:00;True|2021-07-27T08:25:56.7378296+08:00;True|2021-07-26T11:18:46.0856966+08:00;True|2021-07-26T11:18:02.0751924+08:00;True|2021-07-26T11:13:49.6285395+08:00;True|2021-07-21T21:08:25.9898902+08:00;True|2021-07-21T20:09:26.2258104+08:00;True|2021-07-13T16:17:25.8407435+08:00;True|2021-07-13T13:46:13.4309531+08:00;True|2021-07-13T12:29:04.5082461+08:00;True|2021-06-29T13:55:01.6864637+08:00;True|2021-06-29T10:38:52.2206472+08:00;True|2021-06-29T10:10:13.1540749+08:00;True|2021-06-28T14:37:56.3853273+08:00;False|2021-06-28T14:36:57.5726124+08:00;True|2021-06-25T14:17:57.5196108+08:00;True|2021-06-25T13:56:38.9522535+08:00;True|2021-06-24T19:38:32.8766933+08:00;True|2021-06-24T18:26:35.6118833+08:00;True|2021-06-24T18:02:52.8136877+08:00;True|2021-06-24T17:48:49.5851948+08:00;True|2021-06-24T17:45:46.7527572+08:00;True|2021-06-24T15:05:20.1592723+08:00;True|2021-06-23T16:18:15.6814625+08:00;True|2021-06-23T16:05:24.6112343+08:00;True|2021-06-23T15:14:08.2489658+08:00;True|2021-06-23T13:52:58.6029788+08:00;True|2021-06-22T16:11:20.4726923+08:00;True|2021-06-22T16:04:53.7231389+08:00;True|2021-06-22T15:50:59.2583262+08:00;True|2021-06-22T15:38:15.3016140+08:00;True|2021-06-22T15:34:42.9185543+08:00;True|2021-06-22T15:21:55.1419108+08:00;True|2021-06-22T15:07:21.5357494+08:00;True|2021-06-22T15:03:35.0535733+08:00;True|2021-06-22T14:54:47.8802969+08:00;True|2021-06-22T11:19:38.7303011+08:00;True|2021-06-22T08:53:49.2882695+08:00;True|2021-06-22T08:47:54.8286530+08:00;True|2021-06-21T16:27:19.3017700+08:00;True|2021-06-21T15:32:28.7237952+08:00;True|2021-06-21T12:34:02.6329555+08:00;True|2021-06-21T12:24:17.5427495+08:00;True|2021-06-21T10:47:30.6423502+08:00;True|2021-06-21T08:43:20.3026558+08:00;True|2021-06-19T15:10:06.8335499+08:00;True|2021-06-18T15:37:29.5009930+08:00;True|2021-06-18T13:46:35.6283432+08:00;True|2021-06-18T10:00:37.1474954+08:00;True|2021-06-18T09:55:21.8551780+08:00;True|2021-06-18T09:22:27.8432927+08:00;True|2021-06-17T11:17:43.2166430+08:00;True|2021-06-17T09:24:09.8350403+08:00;True|2021-06-16T16:10:47.8564888+08:00;True|2021-06-16T16:04:09.8286582+08:00;True|2021-06-16T15:12:29.9427169+08:00;True|2021-06-16T14:58:45.6801892+08:00;True|2021-06-16T14:46:01.6873221+08:00;True|2021-06-16T11:02:06.1272477+08:00;True|2021-06-16T09:33:56.0223915+08:00;True|2021-06-16T08:50:07.6995413+08:00;True|2021-06-16T08:28:38.7692635+08:00;True|2021-06-16T01:04:19.6282474+08:00;True|2021-06-16T01:03:50.5058323+08:00;False|2021-06-16T01:02:15.3819672+08:00;False|2021-06-16T01:01:38.6171098+08:00;True|2021-06-16T00:34:54.9902044+08:00;True|2021-06-15T23:55:36.2003828+08:00;True|2021-06-15T22:47:17.2192750+08:00;True|2021-06-15T22:42:41.1512585+08:00;True|2021-06-15T22:38:01.7390462+08:00;True|2021-06-15T22:14:11.2060782+08:00;True|2021-06-15T22:12:27.0615357+08:00;True|2021-06-15T22:07:59.9280871+08:00;True|2021-06-15T22:04:21.5051427+08:00;True|2021-06-15T21:25:55.0099814+08:00;True|2021-06-15T19:13:51.3494172+08:00;True|2021-06-15T19:02:17.6844742+08:00;True|2021-06-15T18:47:37.1629411+08:00;False|2021-06-15T18:47:11.0828111+08:00;True|2021-06-15T18:38:26.6620668+08:00;True|2021-06-15T18:33:45.2069831+08:00;True|2021-06-15T18:24:52.0550838+08:00;True|2021-06-15T18:19:43.6999796+08:00;True|2021-06-15T18:08:17.2464506+08:00;True|2021-06-15T18:03:51.3952624+08:00;True|2021-06-15T18:01:20.6141766+08:00;True|2021-06-15T17:59:04.4479416+08:00;True|2021-06-15T17:41:44.6389379+08:00;True|2021-06-15T17:39:03.1565124+08:00;True|2021-06-15T17:34:41.0634638+08:00;True|2021-06-15T17:33:50.4853178+08:00;True|2021-06-15T17:25:38.5914037+08:00;True|2021-06-15T17:22:21.3611360+08:00;True|2021-06-15T17:16:49.4970813+08:00;True|2021-06-15T17:05:28.9389484+08:00;True|2021-06-15T16:52:54.6372199+08:00;True|2021-06-15T16:51:23.9081030+08:00;True|2021-06-15T16:45:40.6017997+08:00;True|2021-06-15T16:41:05.0218887+08:00;True|2021-06-15T16:38:02.8541862+08:00;True|2021-06-15T16:22:10.3118721+08:00;True|2021-06-15T16:12:11.1552506+08:00;True|2021-06-15T15:33:42.0100494+08:00;True|2021-06-15T15:28:39.7145659+08:00;True|2021-06-15T15:15:02.7939125+08:00;True|2021-06-15T14:49:14.2300396+08:00;True|2021-06-15T14:42:28.1198064+08:00;True|2021-06-15T13:30:12.7997686+08:00;True|2021-06-15T13:25:37.7284670+08:00;True|2021-06-15T13:23:43.6207813+08:00;False|2021-06-15T13:23:19.4190232+08:00;True|2021-06-15T13:16:38.5062674+08:00;True|2021-06-15T13:03:31.2055635+08:00;True|2021-06-15T12:58:43.1653215+08:00;True|2021-06-15T12:39:22.8442109+08:00;True|2021-06-15T12:35:09.1288556+08:00;False|2021-06-15T12:33:50.0723143+08:00;True|2021-06-15T11:28:01.9733727+08:00;True|2021-06-15T11:26:26.6569392+08:00;True|2021-06-15T11:22:43.0366435+08:00;True|2021-06-15T11:07:50.1610580+08:00;True|2021-06-15T10:32:59.1925931+08:00;True|2021-06-10T17:16:57.9552310+08:00;True|2021-06-10T16:44:42.2731836+08:00;True|2021-06-10T14:39:27.6745737+08:00;True|2021-06-10T12:15:05.1524413+08:00;True|2021-06-09T18:19:24.1005606+08:00;True|2021-06-09T17:56:09.5646288+08:00;True|2021-06-09T13:34:06.1882292+08:00;True|2021-06-09T13:29:54.5924933+08:00;True|2021-06-09T13:25:55.7520662+08:00;True|2021-06-09T13:07:47.6686811+08:00;True|2021-06-09T12:59:41.2595048+08:00;True|2021-06-09T12:45:27.1305548+08:00;True|2021-06-09T12:29:52.1418191+08:00;True|2021-06-09T12:24:12.7610588+08:00;True|2021-06-09T11:31:25.3409568+08:00;True|2021-06-09T09:57:44.4387175+08:00;True|2021-06-09T09:54:26.5161307+08:00;True|2021-06-09T09:14:14.7288045+08:00;True|2021-06-09T09:10:25.1812139+08:00;True|2021-06-09T08:46:21.6585123+08:00;True|2021-06-08T19:56:55.7192062+08:00;True|2021-06-08T19:52:59.0326821+08:00;True|2021-06-08T19:49:13.6274217+08:00;True|2021-06-08T19:09:22.1038939+08:00;True|2021-06-08T15:28:41.3716247+08:00;True|2021-06-08T15:26:47.2621178+08:00;True|2021-06-08T13:49:45.8936617+08:00;True|2021-06-08T13:43:18.8115502+08:00;True|2021-06-08T10:04:06.2200731+08:00;True|2021-06-08T09:17:10.0470792+08:00;True|2021-06-08T08:44:37.4395849+08:00;True|2021-06-08T00:01:09.3745613+08:00;True|2021-06-07T23:49:31.5196888+08:00;True|2021-06-07T23:41:00.8017855+08:00;True|2021-06-07T23:21:53.1371134+08:00;True|2021-06-07T23:01:27.5712153+08:00;True|2021-06-07T22:36:12.9274014+08:00;True|2021-06-07T22:23:00.6545134+08:00;True|2021-06-07T17:44:47.5686346+08:00;True|2021-06-07T17:17:01.3431233+08:00;True|2021-06-07T16:53:28.9989587+08:00;True|2021-06-07T16:41:10.4975607+08:00;True|2021-06-07T14:21:06.8176477+08:00;True|2021-06-07T14:10:39.0355659+08:00;True|2021-06-07T12:34:31.4562732+08:00;True|2021-06-07T12:28:44.9629488+08:00;True|2021-06-07T10:30:26.9387988+08:00;True|2021-06-07T09:12:14.7658099+08:00;True|2021-06-07T08:37:19.6353792+08:00;True|2021-06-07T08:35:25.2031954+08:00;True|2021-06-05T07:07:32.0541266+08:00;True|2021-06-05T06:44:35.9475270+08:00;True|2021-06-05T06:37:27.4595197+08:00;True|2021-06-05T06:26:59.7663998+08:00;True|2021-06-05T05:43:12.8699318+08:00;True|2021-06-04T17:00:41.2426007+08:00;True|2021-06-04T16:08:03.8078072+08:00;True|2021-06-04T15:47:21.6412616+08:00;True|2021-06-04T15:21:02.4239800+08:00;True|2021-06-04T15:20:37.8641854+08:00;True|2021-06-04T13:38:51.5088395+08:00;True|2021-06-04T10:20:01.7784282+08:00;True|2021-06-04T10:13:50.3548857+08:00;True|2021-06-04T10:11:25.5017821+08:00;True|2021-06-04T10:09:51.6792228+08:00;True|2021-06-04T10:02:39.5851057+08:00;True|2021-06-04T09:30:40.4495494+08:00;True|2021-06-03T13:16:36.0317546+08:00;True|2021-06-03T13:12:47.0402047+08:00;True|2021-06-02T14:37:08.9683351+08:00;True|2021-06-02T14:10:15.7439829+08:00;True|2021-06-02T13:59:46.5841931+08:00;True|2021-06-02T13:25:18.7962660+08:00;True|2021-06-02T13:23:16.2261980+08:00;True|2021-06-01T15:37:32.2495085+08:00;True|2021-06-01T15:21:01.2856122+08:00;True|2021-06-01T15:13:36.7262365+08:00;True|2021-06-01T15:10:26.8905629+08:00;True|2021-06-01T14:56:17.5231551+08:00;True|2021-06-01T14:38:39.7895927+08:00;True|2021-06-01T14:23:12.3265287+08:00;True|2021-03-01T09:11:31.3226422+08:00;True|2021-05-26T14:54:56.9426462+08:00;True|2021-05-26T13:57:33.7780451+08:00;True|2021-05-26T13:39:02.8043358+08:00;True|2021-02-25T16:01:40.2917200+08:00;True|2021-02-25T15:49:46.6681205+08:00;True|2021-02-25T15:16:30.9372640+08:00;True|2021-05-25T13:10:21.7831921+08:00;True|2021-05-25T11:21:38.5224475+08:00;True|2021-05-25T11:12:52.0637175+08:00;True|2021-05-25T11:02:18.4164663+08:00;True|2021-05-25T10:52:06.8998521+08:00;True|2021-05-25T10:50:45.0929606+08:00;True|2021-05-25T10:45:54.1498313+08:00;True|2021-05-25T10:39:27.8602249+08:00;True|2021-05-25T10:34:49.5771162+08:00;True|2021-05-25T10:17:30.3009163+08:00;True|2021-05-25T10:14:03.8512581+08:00;True|2021-05-25T10:05:33.4343836+08:00;True|2021-05-24T17:01:23.3221168+08:00;True|2021-05-24T10:11:24.0197347+08:00;False|2021-05-24T10:11:07.6338995+08:00;</History>
   </PropertyGroup>
   <ItemGroup>
     <File Include="apiapp.json">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="bin/Antlr3.Runtime.dll">
-      <publishTime>02/22/2013 08:43:40</publishTime>
+      <publishTime>02/22/2013 16:43:40</publishTime>
     </File>
     <File Include="bin/Antlr3.Runtime.pdb">
-      <publishTime>02/22/2013 08:43:40</publishTime>
+      <publishTime>02/22/2013 16:43:40</publishTime>
     </File>
     <File Include="bin/BLL.dll">
       <publishTime>11/09/2022 16:02:08</publishTime>
       <publishTime>11/02/2022 22:03:01</publishTime>
-      <publishTime>06/28/2023 17:01:28</publishTime>
+      <publishTime>07/21/2023 11:08:47</publishTime>
     </File>
     <File Include="bin/BLL.pdb">
       <publishTime>11/09/2022 16:02:08</publishTime>
       <publishTime>11/02/2022 22:03:01</publishTime>
-      <publishTime>06/28/2023 17:01:28</publishTime>
+      <publishTime>07/21/2023 11:08:47</publishTime>
     </File>
     <File Include="bin/BouncyCastle.Crypto.dll">
-      <publishTime>12/17/2020 21:32:28</publishTime>
+      <publishTime>12/18/2020 05:32:28</publishTime>
     </File>
     <File Include="bin/DAL.dll">
       <publishTime>11/09/2022 16:02:06</publishTime>
       <publishTime>11/02/2022 22:02:58</publishTime>
-      <publishTime>06/28/2023 17:01:26</publishTime>
+      <publishTime>07/21/2023 11:08:44</publishTime>
     </File>
     <File Include="bin/DAL.pdb">
       <publishTime>11/09/2022 16:02:06</publishTime>
       <publishTime>11/02/2022 22:02:58</publishTime>
-      <publishTime>06/28/2023 17:01:26</publishTime>
+      <publishTime>07/21/2023 11:08:44</publishTime>
     </File>
     <File Include="bin/Dapper.dll">
-      <publishTime>07/22/2016 14:52:40</publishTime>
+      <publishTime>07/22/2016 22:52:40</publishTime>
     </File>
     <File Include="bin/DBUtility.dll">
       <publishTime>11/02/2022 22:02:56</publishTime>
       <publishTime>11/15/2022 13:55:23</publishTime>
-      <publishTime>06/28/2023 17:01:22</publishTime>
+      <publishTime>07/21/2023 11:08:41</publishTime>
     </File>
     <File Include="bin/DBUtility.pdb">
       <publishTime>11/09/2022 16:01:58</publishTime>
       <publishTime>11/02/2022 22:02:56</publishTime>
-      <publishTime>06/28/2023 17:01:22</publishTime>
+      <publishTime>07/21/2023 11:08:41</publishTime>
     </File>
     <File Include="bin/Grpc.Core.Api.dll">
-      <publishTime>03/22/2022 05:17:26</publishTime>
+      <publishTime>03/22/2022 13:17:26</publishTime>
     </File>
     <File Include="bin/Grpc.Core.Api.pdb">
-      <publishTime>03/18/2022 23:39:42</publishTime>
+      <publishTime>03/19/2022 07:39:42</publishTime>
     </File>
     <File Include="bin/Grpc.Core.dll">
-      <publishTime>03/22/2022 05:17:20</publishTime>
+      <publishTime>03/22/2022 13:17:20</publishTime>
     </File>
     <File Include="bin/Grpc.Core.pdb">
-      <publishTime>03/18/2022 23:39:48</publishTime>
+      <publishTime>03/19/2022 07:39:48</publishTime>
     </File>
     <File Include="bin/grpc_csharp_ext.x64.dll">
-      <publishTime>03/22/2022 05:17:22</publishTime>
+      <publishTime>03/22/2022 13:17:22</publishTime>
     </File>
     <File Include="bin/grpc_csharp_ext.x86.dll">
-      <publishTime>03/22/2022 05:17:22</publishTime>
+      <publishTime>03/22/2022 13:17:22</publishTime>
     </File>
     <File Include="bin/ICSharpCode.SharpZipLib.dll">
-      <publishTime>05/08/2021 17:08:30</publishTime>
+      <publishTime>05/09/2021 01:08:30</publishTime>
     </File>
     <File Include="bin/ICSharpCode.SharpZipLib.pdb">
-      <publishTime>05/08/2021 17:08:30</publishTime>
+      <publishTime>05/09/2021 01:08:30</publishTime>
     </File>
     <File Include="bin/Interop.gregn6Lib.dll">
       <publishTime>08/25/2021 10:28:25</publishTime>
     </File>
     <File Include="bin/Kingdee.BOS.WebApi.Client.dll">
-      <publishTime>02/09/2023 20:21:24</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="bin/Kingdee.BOS.WebApi.FormService.dll">
       <publishTime>09/20/2018 19:23:20</publishTime>
@@ -90,99 +90,99 @@
       <publishTime>09/20/2018 19:28:34</publishTime>
     </File>
     <File Include="bin/libgrpc_csharp_ext.x64.dylib">
-      <publishTime>03/18/2022 23:38:44</publishTime>
+      <publishTime>03/19/2022 07:38:44</publishTime>
     </File>
     <File Include="bin/libgrpc_csharp_ext.x64.so">
-      <publishTime>03/18/2022 23:38:42</publishTime>
+      <publishTime>03/19/2022 07:38:42</publishTime>
     </File>
     <File Include="bin/Microsoft.Azure.AppService.ApiApps.Service.dll">
-      <publishTime>03/18/2015 17:02:50</publishTime>
+      <publishTime>03/19/2015 01:02:50</publishTime>
     </File>
     <File Include="bin/Microsoft.CSharp.dll">
       <publishTime>09/26/2012 03:16:08</publishTime>
     </File>
     <File Include="bin/Microsoft.Web.Infrastructure.dll">
-      <publishTime>07/25/2012 11:48:56</publishTime>
+      <publishTime>07/25/2012 19:48:56</publishTime>
     </File>
     <File Include="bin/Model.dll">
       <publishTime>11/09/2022 16:02:01</publishTime>
       <publishTime>11/02/2022 22:02:56</publishTime>
-      <publishTime>06/28/2023 17:01:23</publishTime>
+      <publishTime>07/21/2023 11:08:41</publishTime>
     </File>
     <File Include="bin/Model.pdb">
       <publishTime>11/09/2022 16:02:01</publishTime>
       <publishTime>11/02/2022 22:02:56</publishTime>
-      <publishTime>06/28/2023 17:01:23</publishTime>
+      <publishTime>07/21/2023 11:08:41</publishTime>
     </File>
     <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="bin/Newtonsoft.Json.dll">
-      <publishTime>08/03/2014 20:33:56</publishTime>
+      <publishTime>08/04/2014 04:33:56</publishTime>
     </File>
     <File Include="bin/NPOI.dll">
-      <publishTime>10/23/2021 01:07:54</publishTime>
+      <publishTime>10/23/2021 09:07:54</publishTime>
     </File>
     <File Include="bin/NPOI.OOXML.dll">
-      <publishTime>10/23/2021 01:07:56</publishTime>
-    </File>
-    <File Include="bin/NPOI.OOXML.pdb">
       <publishTime>10/23/2021 09:07:56</publishTime>
     </File>
+    <File Include="bin/NPOI.OOXML.pdb">
+      <publishTime>10/23/2021 17:07:56</publishTime>
+    </File>
     <File Include="bin/NPOI.OpenXml4Net.dll">
-      <publishTime>10/23/2021 01:07:54</publishTime>
+      <publishTime>10/23/2021 09:07:54</publishTime>
     </File>
     <File Include="bin/NPOI.OpenXml4Net.pdb">
-      <publishTime>10/23/2021 09:07:54</publishTime>
+      <publishTime>10/23/2021 17:07:54</publishTime>
     </File>
     <File Include="bin/NPOI.OpenXmlFormats.dll">
-      <publishTime>10/23/2021 01:07:54</publishTime>
+      <publishTime>10/23/2021 09:07:54</publishTime>
     </File>
     <File Include="bin/NPOI.OpenXmlFormats.pdb">
-      <publishTime>10/23/2021 09:07:54</publishTime>
+      <publishTime>10/23/2021 17:07:54</publishTime>
     </File>
     <File Include="bin/NPOI.pdb">
-      <publishTime>10/23/2021 09:07:54</publishTime>
+      <publishTime>10/23/2021 17:07:54</publishTime>
     </File>
     <File Include="bin/Pub_Class.dll">
       <publishTime>11/09/2022 16:01:56</publishTime>
       <publishTime>11/02/2022 22:02:54</publishTime>
-      <publishTime>06/28/2023 17:01:20</publishTime>
+      <publishTime>07/21/2023 11:08:39</publishTime>
     </File>
     <File Include="bin/Pub_Class.pdb">
       <publishTime>11/09/2022 16:01:56</publishTime>
       <publishTime>11/02/2022 22:02:54</publishTime>
-      <publishTime>06/28/2023 17:01:20</publishTime>
+      <publishTime>07/21/2023 11:08:39</publishTime>
     </File>
     <File Include="bin/Pub_Control.dll">
       <publishTime>11/09/2022 16:01:57</publishTime>
       <publishTime>11/02/2022 22:02:55</publishTime>
-      <publishTime>06/28/2023 17:01:21</publishTime>
+      <publishTime>07/21/2023 11:08:40</publishTime>
     </File>
     <File Include="bin/Pub_Control.pdb">
       <publishTime>11/09/2022 16:01:57</publishTime>
       <publishTime>11/02/2022 22:02:55</publishTime>
-      <publishTime>06/28/2023 17:01:21</publishTime>
+      <publishTime>07/21/2023 11:08:40</publishTime>
     </File>
     <File Include="bin/RestSharp.dll">
-      <publishTime>08/30/2012 22:22:50</publishTime>
+      <publishTime>08/31/2012 06:22:50</publishTime>
     </File>
     <File Include="bin/SQLHelper.dll">
-      <publishTime>06/28/2023 17:01:21</publishTime>
+      <publishTime>07/21/2023 11:08:40</publishTime>
     </File>
     <File Include="bin/SQLHelper.pdb">
       <publishTime>11/09/2022 16:01:57</publishTime>
       <publishTime>11/02/2022 22:02:55</publishTime>
-      <publishTime>06/28/2023 17:01:21</publishTime>
+      <publishTime>07/21/2023 11:08:40</publishTime>
     </File>
     <File Include="bin/stdole.dll">
       <publishTime>05/09/2021 13:35:37</publishTime>
     </File>
     <File Include="bin/Swashbuckle.Core.dll">
-      <publishTime>02/15/2015 17:57:08</publishTime>
+      <publishTime>02/16/2015 01:57:08</publishTime>
     </File>
     <File Include="bin/System.Buffers.dll">
-      <publishTime>07/19/2017 10:01:28</publishTime>
+      <publishTime>07/19/2017 18:01:28</publishTime>
     </File>
     <File Include="bin/System.ComponentModel.DataAnnotations.dll">
       <publishTime>09/26/2012 03:16:08</publishTime>
@@ -206,19 +206,19 @@
       <publishTime>09/26/2012 03:16:08</publishTime>
     </File>
     <File Include="bin/System.IdentityModel.Tokens.Jwt.dll">
-      <publishTime>08/19/2014 10:03:34</publishTime>
+      <publishTime>08/19/2014 18:03:34</publishTime>
     </File>
     <File Include="bin/System.Memory.dll">
-      <publishTime>04/17/2019 16:24:34</publishTime>
+      <publishTime>04/18/2019 00:24:34</publishTime>
     </File>
     <File Include="bin/System.Net.Http.dll">
       <publishTime>09/26/2012 03:16:08</publishTime>
     </File>
     <File Include="bin/System.Net.Http.Formatting.dll">
-      <publishTime>11/28/2018 13:00:36</publishTime>
+      <publishTime>11/28/2018 21:00:36</publishTime>
     </File>
     <File Include="bin/System.Runtime.CompilerServices.Unsafe.dll">
-      <publishTime>09/18/2018 19:38:10</publishTime>
+      <publishTime>09/19/2018 03:38:10</publishTime>
     </File>
     <File Include="bin/System.Runtime.Serialization.dll">
       <publishTime>09/26/2012 03:16:08</publishTime>
@@ -227,7 +227,7 @@
       <publishTime>09/26/2012 03:16:08</publishTime>
     </File>
     <File Include="bin/System.Web.Cors.dll">
-      <publishTime>11/28/2018 12:58:44</publishTime>
+      <publishTime>11/28/2018 20:58:44</publishTime>
     </File>
     <File Include="bin/System.Web.dll">
       <publishTime>09/26/2012 03:16:08</publishTime>
@@ -242,37 +242,37 @@
       <publishTime>09/26/2012 03:16:08</publishTime>
     </File>
     <File Include="bin/System.Web.Helpers.dll">
-      <publishTime>01/28/2015 04:04:30</publishTime>
+      <publishTime>01/28/2015 12:04:30</publishTime>
     </File>
     <File Include="bin/System.Web.Http.Cors.dll">
-      <publishTime>11/28/2018 13:01:26</publishTime>
+      <publishTime>11/28/2018 21:01:26</publishTime>
     </File>
     <File Include="bin/System.Web.Http.dll">
-      <publishTime>11/28/2018 13:01:00</publishTime>
+      <publishTime>11/28/2018 21:01:00</publishTime>
     </File>
     <File Include="bin/System.Web.Http.WebHost.dll">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="bin/System.Web.Mvc.dll">
-      <publishTime>01/28/2015 04:02:18</publishTime>
+      <publishTime>01/28/2015 12:02:18</publishTime>
     </File>
     <File Include="bin/System.Web.Optimization.dll">
-      <publishTime>02/11/2014 15:26:04</publishTime>
+      <publishTime>02/11/2014 23:26:04</publishTime>
     </File>
     <File Include="bin/System.Web.Razor.dll">
-      <publishTime>01/28/2015 04:02:32</publishTime>
+      <publishTime>01/28/2015 12:02:32</publishTime>
     </File>
     <File Include="bin/System.Web.Services.dll">
       <publishTime>09/26/2012 03:16:08</publishTime>
     </File>
     <File Include="bin/System.Web.WebPages.Deployment.dll">
-      <publishTime>01/28/2015 04:04:30</publishTime>
+      <publishTime>01/28/2015 12:04:30</publishTime>
     </File>
     <File Include="bin/System.Web.WebPages.dll">
-      <publishTime>01/28/2015 04:04:30</publishTime>
+      <publishTime>01/28/2015 12:04:30</publishTime>
     </File>
     <File Include="bin/System.Web.WebPages.Razor.dll">
-      <publishTime>01/28/2015 04:04:30</publishTime>
+      <publishTime>01/28/2015 12:04:30</publishTime>
     </File>
     <File Include="bin/System.Xml.dll">
       <publishTime>09/26/2012 03:16:08</publishTime>
@@ -281,12 +281,12 @@
       <publishTime>09/26/2012 03:16:08</publishTime>
     </File>
     <File Include="bin/WebActivatorEx.dll">
-      <publishTime>11/24/2014 11:18:48</publishTime>
+      <publishTime>11/24/2014 19:18:48</publishTime>
     </File>
     <File Include="bin/WebAPI.dll">
       <publishTime>11/14/2022 11:23:59</publishTime>
       <publishTime>11/02/2022 22:03:04</publishTime>
-      <publishTime>06/28/2023 17:01:32</publishTime>
+      <publishTime>07/21/2023 11:08:55</publishTime>
     </File>
     <File Include="bin/WebAPI.dll.config">
       <publishTime>12/15/2021 17:59:43</publishTime>
@@ -294,199 +294,202 @@
     <File Include="bin/WebAPI.pdb">
       <publishTime>11/14/2022 11:23:59</publishTime>
       <publishTime>11/02/2022 22:03:04</publishTime>
-      <publishTime>06/28/2023 17:01:32</publishTime>
+      <publishTime>07/21/2023 11:08:55</publishTime>
     </File>
     <File Include="bin/WebGrease.dll">
-      <publishTime>07/17/2013 17:03:52</publishTime>
+      <publishTime>07/18/2013 01:03:52</publishTime>
     </File>
     <File Include="bin/zh-Hans/System.Net.Http.Formatting.resources.dll">
-      <publishTime>11/29/2018 13:26:02</publishTime>
+      <publishTime>11/29/2018 21:26:02</publishTime>
     </File>
     <File Include="bin/zh-Hans/System.Web.Http.resources.dll">
-      <publishTime>11/29/2018 13:26:30</publishTime>
+      <publishTime>11/29/2018 21:26:30</publishTime>
     </File>
     <File Include="Config/kdapi.config">
-      <publishTime>08/19/2022 08:17:39</publishTime>
+      <publishTime>04/06/2023 15:57:01</publishTime>
     </File>
     <File Include="Content/bootstrap.css">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:01</publishTime>
     </File>
     <File Include="Content/bootstrap.min.css">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:01</publishTime>
     </File>
     <File Include="Content/Site.css">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:01</publishTime>
     </File>
     <File Include="DLL/BLL.dll">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="DLL/DAL.dll">
-      <publishTime>11/01/2021 09:26:33</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="DLL/DBUtility.dll">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="DLL/Kingdee.BOS.WebApi.Client.dll">
-      <publishTime>02/09/2023 20:21:24</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="DLL/Model.dll">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="DLL/Newtonsoft.Json.Net35.dll">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="DLL/Pub_Class.dll">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="DLL/Pub_Control.dll">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="DLL/SQLHelper.dll">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="fonts/glyphicons-halflings-regular.eot">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="fonts/glyphicons-halflings-regular.svg">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="fonts/glyphicons-halflings-regular.ttf">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="fonts/glyphicons-halflings-regular.woff">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Global.asax">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="grpc_csharp_ext.x64.dll">
-      <publishTime>03/22/2022 05:17:22</publishTime>
+      <publishTime>03/22/2022 13:17:22</publishTime>
     </File>
     <File Include="grpc_csharp_ext.x86.dll">
-      <publishTime>03/22/2022 05:17:22</publishTime>
+      <publishTime>03/22/2022 13:17:22</publishTime>
     </File>
     <File Include="Index.html">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="libgrpc_csharp_ext.x64.dylib">
-      <publishTime>03/18/2022 23:38:44</publishTime>
+      <publishTime>03/19/2022 07:38:44</publishTime>
     </File>
     <File Include="libgrpc_csharp_ext.x64.so">
-      <publishTime>03/18/2022 23:38:42</publishTime>
+      <publishTime>03/19/2022 07:38:42</publishTime>
+    </File>
+    <File Include="libman.json">
+      <publishTime>07/12/2023 08:14:21</publishTime>
     </File>
     <File Include="Metadata/deploymentTemplates/apiappconfig.azureresource.json">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="packages.config">
-      <publishTime>11/29/2022 10:36:46</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Views/Scripts/bootstrap.js">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Views/Scripts/bootstrap.min.js">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Views/Scripts/jquery-1.10.2.js">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Views/Scripts/jquery-1.10.2.min.js">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Views/Scripts/jquery-1.10.2.min.map">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Views/Scripts/jquery.validate.js">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Views/Scripts/jquery.validate.min.js">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Views/Scripts/jquery.validate.unobtrusive.js">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Views/Scripts/jquery.validate.unobtrusive.min.js">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Views/Scripts/modernizr-2.6.2.js">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Views/Shared/Error.cshtml">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Views/Shared/_Layout.cshtml">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Views/web.config">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Views/_ViewStart.cshtml">
-      <publishTime>08/19/2021 09:44:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_Customer_Model.datasource">
-      <publishTime>06/21/2023 11:15:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_Department_Model.datasource">
-      <publishTime>06/21/2023 11:15:00</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_Employee_Model.datasource">
-      <publishTime>06/21/2023 11:15:02</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_StockPlace_Model.datasource">
-      <publishTime>06/21/2023 11:15:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_Supplier_Model.datasource">
-      <publishTime>06/21/2023 11:15:01</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_Warehouse_Model.datasource">
-      <publishTime>06/21/2023 11:15:00</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_BadReason_Model.datasource">
-      <publishTime>06/21/2023 11:15:02</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model.datasource">
-      <publishTime>06/21/2023 11:15:06</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model_View.datasource">
-      <publishTime>06/21/2023 11:15:06</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Customer_Model.datasource">
-      <publishTime>06/21/2023 11:15:04</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Department_Model.datasource">
-      <publishTime>06/21/2023 11:15:03</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Employee_Model.datasource">
-      <publishTime>06/21/2023 11:15:05</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Group_Model.datasource">
-      <publishTime>06/21/2023 11:15:03</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Item30JiTai_Model.datasource">
-      <publishTime>06/21/2023 11:15:02</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Source_Model.datasource">
-      <publishTime>06/21/2023 11:15:05</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_StockPlace_Model.datasource">
-      <publishTime>06/21/2023 11:15:04</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Supplier_Model.datasource">
-      <publishTime>06/21/2023 11:15:04</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Warehouse_Model.datasource">
-      <publishTime>06/21/2023 11:15:03</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsKf_ICStockBill_Mould.datasource">
-      <publishTime>06/21/2023 11:15:05</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/ClsKf_ICStockBill_WMS.datasource">
-      <publishTime>06/21/2023 11:15:00</publishTime>
+      <publishTime>04/06/2023 15:57:02</publishTime>
     </File>
     <File Include="Web References/WebS/Reference.cs">
       <publishTime>12/20/2021 13:19:56</publishTime>
     </File>
     <File Include="Web References/WebS/Reference.map">
-      <publishTime>06/21/2023 11:14:55</publishTime>
+      <publishTime>04/26/2023 13:39:12</publishTime>
     </File>
     <File Include="Web References/WebS/WebService1.disco">
       <publishTime>12/20/2021 13:19:56</publishTime>
@@ -500,7 +503,7 @@
     <File Include="Web.config">
       <publishTime>11/14/2022 11:24:08</publishTime>
       <publishTime>11/02/2022 22:03:20</publishTime>
-      <publishTime>06/28/2023 17:01:49</publishTime>
+      <publishTime>07/21/2023 11:13:08</publishTime>
     </File>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/WebAPI/WebAPI.csproj b/WebAPI/WebAPI.csproj
index fdfc679..6b34682 100644
--- a/WebAPI/WebAPI.csproj
+++ b/WebAPI/WebAPI.csproj
@@ -241,6 +241,7 @@
     <Content Include="Views\Scripts\bootstrap.js" />
     <Content Include="Views\Scripts\bootstrap.min.js" />
     <Content Include="Config\kdapi.config" />
+    <Content Include="libman.json" />
     <None Include="Properties\Settings.settings">
       <Generator>SettingsSingleFileGenerator</Generator>
       <LastGenOutput>Settings.Designer.cs</LastGenOutput>
@@ -457,6 +458,8 @@
     <Compile Include="Controllers\Sc_MouldRepairSendWorkBillController.cs" />
     <Compile Include="Controllers\Sc_ProcessMangementController.cs" />
     <Compile Include="Controllers\Sc_ProcessReportController.cs" />
+    <Compile Include="Controllers\浜轰簨绠$悊\鍏ヨ亴鐢宠\HR_EmpEngageRequestBillController.cs" />
+    <Compile Include="Controllers\浜轰簨绠$悊\绂昏亴鐢宠\HR_EmpDimissionBillController.cs" />
     <Compile Include="Controllers\浠撳瓨绠$悊\濮斿鐢ㄦ枡\WW_PPBomBillController.cs" />
     <Compile Include="Controllers\浠撳瓨绠$悊\鎵爜寮傚父璁板綍\KF_PonderationBillController.cs" />
     <Compile Include="Controllers\浠撳瓨绠$悊\鏉$爜鍑哄叆搴撹褰昞Kf_ICStockInOutBillController.cs" />
@@ -497,6 +500,7 @@
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_WorkStationBillController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Xt_CheckFlowBillController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Xt_CheckItemBillController.cs" />
+    <Compile Include="Controllers\鍩虹璧勬枡\宸ヨ祫鍩虹璧勬枡\Gy_ProcCommPriceController.cs" />
     <Compile Include="Controllers\宸ヨ祫绠$悊\Pay_MonthlySalaryReportController.cs" />
     <Compile Include="Controllers\宸ヨ祫绠$悊\Pay_PieceRateWageReportController.cs" />
     <Compile Include="Controllers\宸ヨ祫绠$悊\Gy_ClassTimePrjBillController.cs" />
@@ -568,6 +572,10 @@
     <Compile Include="Controllers\鐢熶骇绠$悊\鎶ュ伐鍙板伐搴廫Sc_QualityReportStepBillController.cs" />
     <Compile Include="Controllers\鐢熶骇绠$悊\鐢熶骇浠诲姟鍗昞Sc_ICMOBillController.cs" />
     <Compile Include="Controllers\鐢熶骇绠$悊\璐ㄩ噺姹囨姤鍗昞Sc_QualityReportBillController.cs" />
+    <Compile Include="Controllers\椤圭洰绠$悊\涓氱哗鎸囨爣\PM_YearEmployeeMoneyBillController.cs" />
+    <Compile Include="Controllers\椤圭洰绠$悊\宸ヤ綔浠诲姟\PM_WorkTaskBillController.cs" />
+    <Compile Include="Controllers\椤圭洰绠$悊\宸ョ▼椤圭洰\PM_ProjectBillController.cs" />
+    <Compile Include="Controllers\椤圭洰绠$悊\椤圭洰闃舵\Gy_ProjectStageController.cs" />
     <Compile Include="Dapper\SqlHelper.cs" />
     <Compile Include="Dapper\SqlPools.cs" />
     <Compile Include="DbUntil\DataFormatUntil.cs" />
diff --git a/WebAPI/WebAPI.csproj.user b/WebAPI/WebAPI.csproj.user
index e951c6c..6a6fc2c 100644
--- a/WebAPI/WebAPI.csproj.user
+++ b/WebAPI/WebAPI.csproj.user
@@ -9,7 +9,7 @@
     <WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected>
     <NameOfLastUsedPublishProfile>FolderProfile</NameOfLastUsedPublishProfile>
     <NameOfLastUsedPublishProfile>D:\Git\houduan\WebAPI\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
-    <NameOfLastUsedPublishProfile>D:\GIT浠撳簱\MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
+    <NameOfLastUsedPublishProfile>D:\缃戠珯鍙戝竷\鍚庣浠g爜\MES-WEB-API\MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
     <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
     <UseIISExpress>false</UseIISExpress>
     <Use64BitIISExpress />
diff --git a/WebAPI/libman.json b/WebAPI/libman.json
new file mode 100644
index 0000000..ceee271
--- /dev/null
+++ b/WebAPI/libman.json
@@ -0,0 +1,5 @@
+{
+  "version": "1.0",
+  "defaultProvider": "cdnjs",
+  "libraries": []
+}
\ No newline at end of file

--
Gitblit v1.9.1