From 2fd0e1116c1a99af7555d91728d1adc36f753464 Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期二, 18 七月 2023 17:26:29 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WarM/条码打印/Kf_WeighToBarCode.cs                                     |   13 
 WebAPI/Controllers/项目管理/业绩指标/PM_YearEmployeeMoneyBillController.cs |  754 ++++++
 WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user        |  263 +-
 WebAPI/WebAPI.csproj.user                                          |    2 
 WebAPI/Controllers/基础资料/工资基础资料/Gy_ProcCommPriceController.cs       |  517 ++++
 WebAPI/Controllers/项目管理/工程项目/PM_ProjectBillController.cs           | 1050 +++++++++
 WebAPI/Controllers/WebAPIController.cs                             |   19 
 WebAPI/WebAPI.csproj                                               |    6 
 WebAPI/Controllers/项目管理/项目阶段/Gy_ProjectStageController.cs          | 2202 ++++++++++++++++++++
 WarM/条码打印/Gy_BarCodeBill.cs                                        |  119 +
 WebAPI/Controllers/项目管理/工作任务/PM_WorkTaskBillController.cs          | 1649 ++++++++++++++
 WebAPI/libman.json                                                 |    5 
 12 files changed, 6,460 insertions(+), 139 deletions(-)

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 bbc60b7..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"
@@ -309,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;
diff --git a/WebAPI/Controllers/WebAPIController.cs b/WebAPI/Controllers/WebAPIController.cs
index 1a9c818..42660f1 100644
--- a/WebAPI/Controllers/WebAPIController.cs
+++ b/WebAPI/Controllers/WebAPIController.cs
@@ -3933,11 +3933,11 @@
             {
                 List<MenuLoad> mu = new List<MenuLoad>();                       //浠ョ埗瀛愮骇缁撴瀯瀛樻斁鑿滃崟娓呭崟淇℃伅
                 SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();            //鏁版嵁搴撴搷浣滃伐鍏�
-                string sql = "select HItemID,HPartentID,HNumber,HName,HLevel,Hurl,HType,HPicNum 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 + "' 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 Order by HPosition ";
                     ds = oCn.RunProcReturn(sql, "Gy_Menu");
                 }
 
@@ -4173,9 +4173,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"])
+                        {
+                            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);
+                        }
+                        
                     }
                 }
                 //鎻愪氦鏁版嵁搴撴搷浣�
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/\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/Properties/PublishProfiles/FolderProfile.pubxml.user b/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user
index e2808af..a3e9b7c 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-07-04T05:07:10.1209516Z;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>
+    <_PublishTargetUrl>D:\缃戠珯鍙戝竷\鏅轰簯MESWMS\API</_PublishTargetUrl>
+    <History>True|2023-07-14T02:33:17.6270692Z;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>07/04/2023 13:06:55</publishTime>
+      <publishTime>07/14/2023 11:02:17</publishTime>
     </File>
     <File Include="bin/BLL.pdb">
       <publishTime>11/09/2022 16:02:08</publishTime>
       <publishTime>11/02/2022 22:03:01</publishTime>
-      <publishTime>07/04/2023 13:06:55</publishTime>
+      <publishTime>07/14/2023 11:02:17</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>07/04/2023 13:06:53</publishTime>
+      <publishTime>07/14/2023 11:02:16</publishTime>
     </File>
     <File Include="bin/DAL.pdb">
       <publishTime>11/09/2022 16:02:06</publishTime>
       <publishTime>11/02/2022 22:02:58</publishTime>
-      <publishTime>07/04/2023 13:06:53</publishTime>
+      <publishTime>07/14/2023 11:02:16</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>07/04/2023 13:06:50</publishTime>
+      <publishTime>07/14/2023 11:02:13</publishTime>
     </File>
     <File Include="bin/DBUtility.pdb">
       <publishTime>11/09/2022 16:01:58</publishTime>
       <publishTime>11/02/2022 22:02:56</publishTime>
-      <publishTime>07/04/2023 13:06:50</publishTime>
+      <publishTime>07/14/2023 11:02:13</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>07/04/2023 13:06:51</publishTime>
+      <publishTime>07/14/2023 11:02:13</publishTime>
     </File>
     <File Include="bin/Model.pdb">
       <publishTime>11/09/2022 16:02:01</publishTime>
       <publishTime>11/02/2022 22:02:56</publishTime>
-      <publishTime>07/04/2023 13:06:51</publishTime>
+      <publishTime>07/14/2023 11:02:13</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>07/04/2023 13:06:49</publishTime>
+      <publishTime>07/14/2023 11:02:12</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>07/04/2023 13:06:49</publishTime>
+      <publishTime>07/14/2023 11:02:12</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>07/04/2023 13:06:49</publishTime>
+      <publishTime>07/14/2023 11:02:12</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>07/04/2023 13:06:49</publishTime>
+      <publishTime>07/14/2023 11:02:12</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>07/04/2023 13:06:50</publishTime>
+      <publishTime>07/14/2023 11:02:12</publishTime>
     </File>
     <File Include="bin/SQLHelper.pdb">
       <publishTime>11/09/2022 16:01:57</publishTime>
       <publishTime>11/02/2022 22:02:55</publishTime>
-      <publishTime>07/04/2023 13:06:50</publishTime>
+      <publishTime>07/14/2023 11:02:12</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>07/04/2023 13:06:58</publishTime>
+      <publishTime>07/14/2023 11:02:20</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>07/04/2023 13:06:58</publishTime>
+      <publishTime>07/14/2023 11:02:20</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>07/04/2023 13:07:07</publishTime>
+      <publishTime>07/14/2023 11:02:26</publishTime>
     </File>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/WebAPI/WebAPI.csproj b/WebAPI/WebAPI.csproj
index fdfc679..ec01b90 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>
@@ -497,6 +498,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 +570,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