From 3e7e7c306659ed86e091ea89b626359125362908 Mon Sep 17 00:00:00 2001
From: ch <37327@LLOOCCY>
Date: 星期二, 15 十一月 2022 10:05:17 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Models/Xt_CheckFlowSub.cs                           |   19 
 WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs        |   37 
 WebAPI/Controllers/LMESController.cs                       |   22 
 WebAPI/Controllers/基础资料/基础资料/Xt_CheckFlowBillController.cs |  407 ++++++++++++
 WebAPI/Controllers/基础资料/基础资料/Gy_DutyBillController.cs      |  375 +++++++++++
 WebAPI/ListModels.cs                                       |   12 
 WebAPI/Models/Xt_CheckFlowMain.cs                          |   17 
 WebAPI/Controllers/基础资料/基础资料/Gy_SOPBillController.cs       |  369 +---------
 WebAPI/Controllers/基础资料/基础资料/Xt_CheckItemBillController.cs |  262 +++++++
 WebAPI/Controllers/基础资料/基础资料/Gy_SOPBillEditController.cs   |  367 +++++++++++
 WebAPI/Models/Xt_CheckItem.cs                              |   16 
 WebAPI/Models/基础资料/Gy_Duty.cs                              |   22 
 WebAPI/WebAPI.csproj                                       |   10 
 13 files changed, 1,607 insertions(+), 328 deletions(-)

diff --git a/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs b/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
index c3ac9dd..bdd8110 100644
--- a/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
+++ b/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
@@ -136,7 +136,7 @@
 
                 msg2 = "[" + msg2.ToString() + "]";
                 List<Gy_RoutingBill> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_RoutingBill>>(msg2);
-               
+
                 long HInterID = mainList[0].HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D
                 string HBillNo = mainList[0].HBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿
                 DateTime HDate = mainList[0].HDate;//鏃ユ湡
@@ -170,9 +170,22 @@
                 string HProductNum = mainList[0].HProductNum;//鎴愬搧缂栧彿
                 string HVerNum = mainList[0].HVerNum;//鐗堟湰
 
+                if (OperationType == 2)
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList where  鍗曟嵁鍙�='" + HBillNo + "'", "h_v_Gy_RoutingBillList");
+                    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 h_v_Gy_RoutingBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_Gy_RoutingBillList");
 
-                if (OperationType == 1 && ds.Tables[0].Rows.Count == 0)//鏂板
+                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
                 {
                     //涓昏〃
                     oCN.RunProc("Insert Into Gy_RoutingBillMain   " +
@@ -202,10 +215,10 @@
                         ",HProductNum='" + HProductNum + "',HVerNum='" + HVerNum + "' where HInterID='" + HInterID + "'");
 
                     //鍒犻櫎瀛愯〃
-                    oCN.RunProc("delete from Gy_RoutingBillSub where HInterID='" + HInterID+ "' and HProcNo!='9999'");
+                    oCN.RunProc("delete from Gy_RoutingBillSub where HInterID='" + HInterID + "' and HProcNo!='9999'");
                 }
                 //淇濆瓨瀛愯〃
-                objJsonResult = AddBillSub(msg3, HInterID);
+                objJsonResult = AddBillSub(msg3, HInterID, OperationType);
                 if (objJsonResult.code == "0")
                 {
                     objJsonResult.code = "0";
@@ -220,7 +233,7 @@
 
                 if (OperationType == 1)
                 {
-                    
+
                     if (ds == null || ds.Tables[0].Rows.Count == 0)
                     {
                         objJsonResult.code = "0";
@@ -257,7 +270,7 @@
             }
         }
 
-        public json AddBillSub(string msg3, long HInterID)
+        public json AddBillSub(string msg3, long HInterID,int OperationType)
         {
             List<Gy_RoutingBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_RoutingBillSub>>(msg3);
             int i = 0;
@@ -273,7 +286,7 @@
                     return objJsonResult;
                 }
 
-                if (oSub.HProcNo!="9999")
+                if (oSub.HProcNo != "9999" || OperationType == 2)
                 {
                     oCN.RunProc("Insert into Gy_RoutingBillSub " +
                     "(HInterID,HEntryID,HProcID,HProcNO,HSupID,HSupFlag" +
@@ -329,7 +342,7 @@
                 file.SaveAs(ExcelPath);
 
                 NpoiHelper np = new NpoiHelper();
-                DataSet ExcelDs = np.ReadExcel(ExcelPath, 1,2, WorkBookName);
+                DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 2, WorkBookName);
 
                 //鍒犻櫎鏂囦欢
                 File.Delete(ExcelPath);
@@ -364,7 +377,7 @@
 
                 if (!tb2.Columns.Contains("宸ュ簭"))
                     error += "娌℃湁鎵惧埌銆愬伐搴忋�戠殑鏍囬,";
-              
+
                 if (!tb2.Columns.Contains("宸ヤ綔涓績"))
                     error += "娌℃湁鎵惧埌銆愬伐浣滀腑蹇冦�戠殑鏍囬,";
 
@@ -423,7 +436,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = $"Excel妯℃澘瀛樺湪閿欒,{error}\r\n" ;
+                    objJsonResult.Message = $"Excel妯℃澘瀛樺湪閿欒,{error}\r\n";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -482,7 +495,7 @@
                                 , 鏈伐搴忕‘璁よ褰�, 澶囨敞, 鍥惧彿鐗堟湰, 鎬昏鍥惧彿, 鏉愯川, 鎴愬搧缂栧彿, 鐗堟湰
                                 , 妯″叿缂栧彿, 绋嬪簭鍙�, 鐝骇瀹氶, 宸ヨ壓璺嚎鍚嶇О, 鏃堕棿鍗曚綅,宸ヨ壓璺嚎浠g爜)values
                                 ('" + tb2.Rows[i]["浜у搧浠g爜"].ToString() + "','" + tb2.Rows[i]["浜у搧鍚嶇О"].ToString() + "','" + tb2.Rows[i]["宸ュ簭搴忓彿"].ToString() + "','" + tb2.Rows[i]["宸ュ簭浠g爜"].ToString() + "','" + tb2.Rows[i]["宸ュ簭"].ToString() + "','" + tb2.Rows[i]["宸ヤ綔涓績"].ToString() + "','" + tb2.Rows[i]["鍔犲伐鏁伴噺"].ToString() + "'" +
-                                ",'" + tb2.Rows[i]["鑹巼"].ToString() + "','" + (tb2.Rows[i]["宸ュ簭宸ヤ环"].ToString()==""?"0": tb2.Rows[i]["宸ュ簭宸ヤ环"].ToString()) + "','" + tb2.Rows[i]["涓嶅悎鏍煎崟浠�"].ToString() + "','" + tb2.Rows[i]["鎶ュ簾鍗曚环"].ToString() + "','" + tb2.Rows[i]["鏈亾鍥哄畾寮�宸ュぉ鏁�"].ToString() + "','" + tb2.Rows[i]["鏈亾寮�宸ヤ綑閲�"].ToString() + "','" + tb2.Rows[i]["涓婇亾绛夊緟澶╂暟"].ToString() + "'" +
+                                ",'" + tb2.Rows[i]["鑹巼"].ToString() + "','" + (tb2.Rows[i]["宸ュ簭宸ヤ环"].ToString() == "" ? "0" : tb2.Rows[i]["宸ュ簭宸ヤ环"].ToString()) + "','" + tb2.Rows[i]["涓嶅悎鏍煎崟浠�"].ToString() + "','" + tb2.Rows[i]["鎶ュ簾鍗曚环"].ToString() + "','" + tb2.Rows[i]["鏈亾鍥哄畾寮�宸ュぉ鏁�"].ToString() + "','" + tb2.Rows[i]["鏈亾寮�宸ヤ綑閲�"].ToString() + "','" + tb2.Rows[i]["涓婇亾绛夊緟澶╂暟"].ToString() + "'" +
                                 ",'" + tb2.Rows[i]["涓婇亾寰幆鍛ㄦ湡"].ToString() + "','" + tb2.Rows[i]["鑷姩杞Щ"].ToString() + "','" + tb2.Rows[i]["澶栧崗鏍囪"].ToString() + "','" + tb2.Rows[i]["渚涘簲鍟嗕唬鐮�"].ToString() + "','" + tb2.Rows[i]["渚涘簲鍟�"].ToString() + "','" + tb2.Rows[i]["宸ヨ壓鍙傛暟"].ToString() + "','" + tb2.Rows[i]["鍥剧焊缂栧彿"].ToString() + "'" +
                                 ",'" + tb2.Rows[i]["鏈伐搴忕‘璁よ褰�"].ToString() + "','" + tb2.Rows[i]["澶囨敞"].ToString() + "','" + tb2.Rows[i]["鍥惧彿鐗堟湰"].ToString() + "','" + tb2.Rows[i]["鎬昏鍥惧彿"].ToString() + "','" + tb2.Rows[i]["鏉愯川"].ToString() + "','" + tb2.Rows[i]["鎴愬搧缂栧彿"].ToString() + "','" + tb2.Rows[i]["鐗堟湰"].ToString() + "'" +
                                 ",'" + tb2.Rows[i]["妯″叿缂栧彿"].ToString() + "','" + tb2.Rows[i]["绋嬪簭鍙�"].ToString() + "','" + tb2.Rows[i]["鐝骇瀹氶"].ToString() + "','" + tb2.Rows[i]["宸ヨ壓璺嚎鍚嶇О"].ToString() + "','" + tb2.Rows[i]["鏃堕棿鍗曚綅"].ToString() + "','" + tb2.Rows[i]["宸ヨ壓璺嚎浠g爜"].ToString() + "')");
@@ -682,7 +695,7 @@
                         {
                             if (HBillNo != "")
                             {
-                                if (dataSet.Tables[0].Rows.Count==0)
+                                if (dataSet.Tables[0].Rows.Count == 0)
                                 {
                                     break;
                                 }
diff --git a/WebAPI/Controllers/LMESController.cs b/WebAPI/Controllers/LMESController.cs
index d039b77..b30201c 100644
--- a/WebAPI/Controllers/LMESController.cs
+++ b/WebAPI/Controllers/LMESController.cs
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using Pub_Class;
 using System;
 using System.Collections;
@@ -59,6 +60,7 @@
             DataSet ds;
             try
             {
+                List<object> columnNameList = new List<object>();
                 //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
                 //if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Query", 1, false, user))
                 //{
@@ -72,11 +74,19 @@
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeBillQuery where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeBillQuery");
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
                 objJsonResult.data = ds.Tables[0];
                 return objJsonResult;
                 //}
@@ -599,11 +609,21 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
                 objJsonResult.data = ds.Tables[0];
                 return objJsonResult;
                 //}
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_DutyBillController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_DutyBillController.cs"
new file mode 100644
index 0000000..1fe868f
--- /dev/null
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_DutyBillController.cs"
@@ -0,0 +1,375 @@
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Web.Http;
+using WebAPI.Models.鍩虹璧勬枡;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers.鍩虹璧勬枡.鍩虹璧勬枡
+{
+    public class Gy_DutyBillController : ApiController
+    {
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+        #region 缁勭粐鏋舵瀯璁剧疆 鏍戝舰鍥�
+        public class TreeModel
+        {
+            public string id { get; set; }
+            public string title { get; set; }
+            public List<TreeModel> children = new List<TreeModel>();
+        }
+        [Route("Gy_DutyBill/Gy_DutyBillTreeList")]
+        [HttpGet]
+        public object Gy_DutyBillTreeList()
+        {
+            try
+            {
+                string sql1 = string.Format("select hitemid,hnumber,hname from Gy_Duty order by hnumber");
+
+                ds = oCN.RunProcReturn(sql1, "Gy_Duty");
+
+                List<TreeModel> treeModels = new List<TreeModel>();
+                TreeModel first = new TreeModel();
+                first.id = "0";
+                first.title = "缁勭粐鏋舵瀯璁剧疆";
+                treeModels.Add(first);
+
+                foreach (DataRow row in ds.Tables[0].Rows)
+                {
+                    var strLen = row["hnumber"].ToString().Split('.');
+                    if (strLen.Length == 1)
+                    {
+                        TreeModel tree = new TreeModel();
+                        tree.id = row["hnumber"].ToString();
+                        tree.title = row["hname"].ToString();
+                        treeModels[0].children.Add(tree);
+                    }
+                }
+
+                digui(ds.Tables[0], treeModels[0].children, 2);
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels);
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        /// <summary>
+        /// 閫掑綊鍑芥暟
+        /// </summary>
+        public void digui(DataTable dt, List<TreeModel> tree,int num)
+        {
+            for (int m = 0; m < tree.Count; m++)
+            {
+                tree[m].children = new List<TreeModel>();
+                for (int i = 0; i < dt.Rows.Count; i++)//绗竴娆″惊鐜紝寰楀埌鎵�鏈夋牴鑺傜偣鐨勫瓙闆�
+                {
+                    var strLen = dt.Rows[i]["hnumber"].ToString().Split('.');
+                    if (strLen.Length == num && dt.Rows[i]["hnumber"].ToString().Contains(tree[m].id + "."))
+                    {
+                        TreeModel tbjson = new TreeModel();
+                        tbjson.id = dt.Rows[i]["hnumber"].ToString();
+                        tbjson.title = dt.Rows[i]["hname"].ToString();
+                        tree[m].children.Add(tbjson);
+                    }
+                }
+                var strLens = tree[m].id.Split('.');
+                for (int i = 0; i < tree[m].children.Count; i++)
+                {
+                    digui(dt, tree[m].children, strLens.Length + 2);//鍐嶆鐢ㄥ瓙闆嗗幓寰幆锛屾嬁鍑哄瓙闆嗙殑瀛愰泦
+                }
+            }
+
+        }
+        #endregion
+
+        #region 缁勭粐鏋舵瀯璁剧疆 鍒楄〃
+        [Route("Gy_DutyBill/Gy_DutyBillList")]
+        [HttpGet]
+        public object Gy_DutyBillList(string sWhere)
+        {
+            try
+            {
+                string sql1 = string.Format(@"select  * from h_v_Gy_DutyList where 1=1 ");
+
+                ds = oCN.RunProcReturn(sql1+ sWhere+ " order by 缁勭粐鏋舵瀯浠g爜", "h_v_Gy_DutyList");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 缁勭粐鏋舵瀯璁剧疆 淇濆瓨
+        [Route("Gy_DutyBill/Gy_DutyBillEdit")]
+        [HttpPost]
+        public object Xt_CheckFlowBillEdit([FromBody] JObject msg)
+        {
+            var _value = msg["msg"].ToString();
+            string msg3 = _value.ToString();
+            string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg1 = sArray[0].ToString();
+            string msg2 = sArray[1].ToString();
+            string msg4 = sArray[2].ToString();
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+          
+            try
+            {
+                Gy_Duty Duty = JsonConvert.DeserializeObject<Gy_Duty>(msg1);
+
+
+                //鑾峰彇涓婄骇鐨勪唬鐮�
+                var topHNum = DBUtility.ClsPub.GetParentCode(Duty.HNumber);
+
+                if (topHNum == "")
+                {
+                    Duty.HParentID = 0;
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn("select * from Gy_Duty where HStopflag=0  and HNumber='" + topHNum + "'  or HNumber='" + Duty.HNumber + "' ", "Gy_Duty");
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "涓婄骇浠g爜涓嶅瓨鍦ㄦ垨琚鐢紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (msg4 == "1") {
+                        if (ds.Tables[0].Rows.Count == 2)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "浠g爜閲嶅锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                   
+                    Duty.HParentID = int.Parse(ds.Tables[0].Rows[0]["HItemID"].ToString());
+                }
+
+                if (Duty.HItemID != 0)
+                {
+                    ds = oCN.RunProcReturn("select * from Gy_Duty where HItemID='" + Duty.HItemID + "' ", "Gy_Duty");
+                    var newHNum = Duty.HNumber.Split('.');
+                    var oldHNum = ds.Tables[0].Rows[0]["HNumber"].ToString().Split('.');
+
+                    if (newHNum.Length > oldHNum.Length && Duty.HItemID == Duty.HParentID)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏂颁唬鐮佷笉鑳芥槸鑷繁鐨勪笅绾х殑瀛愰」鐩紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    ds = oCN.RunProcReturn("select * from Gy_Duty where HParentID='" + Duty.HItemID + "' ", "Gy_Duty");
+
+                    if (ds.Tables[0].Rows.Count>0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "璇ラ」鐩笅闈㈡湁瀛愰」鐩�,涓嶈兘淇敼锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                Duty.HEndFlag = 1;
+                Duty.HShortNumber = DBUtility.ClsPub.GetShortNumber(Duty.HNumber);
+                Duty.HLevel = DBUtility.ClsPub.GetLevel(Duty.HNumber);
+
+                if (Duty.HShortNumber == "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鐭唬鐮佷负绌猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (msg4 == "1")
+                {  
+                    //淇濆瓨
+                    //淇濆瓨瀹屾瘯鍚庡鐞�
+                    oCN.RunProc("Insert into Gy_Duty " +
+                       " (HNumber,HName,HHelpCode,HShortNumber,HParentID,HUserGroupID" +
+                       ",HLevel,HEndFlag,HStopflag,HRemark) " +
+                       " Values('" + Duty.HNumber + "','" + Duty.HName + "','" + Duty.HHelpCode + "','" + Duty.HShortNumber + "'," + Duty.HParentID.ToString() + "," + Duty.HUserGroupID.ToString() +
+                       "," + Duty.HLevel.ToString() + "," + Duty.HEndFlag + "," + Convert.ToString(Duty.HStopflag ? 1 : 0) + ",'" + Duty.HRemark + "')", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    oCN.RunProc("Update Gy_Duty set " +
+                        " HNumber='" + Duty.HNumber + "'" +
+                        ",HName='" + Duty.HName + "'" +
+                        ",HShortNumber='" + Duty.HShortNumber + "'" +
+                        ",HHelpCode='" + Duty.HHelpCode + "'" +
+                        ",HLevel=" + Duty.HLevel.ToString() +
+                        ",HParentID=" + Duty.HParentID.ToString() +
+                        ",HUserGroupID=" + Duty.HUserGroupID.ToString() +
+                        ",HEndflag=" + Duty.HEndFlag +
+                        ",HStopflag=" + Convert.ToString(Duty.HStopflag ? 1 : 0) +
+                        ",HRemark= '" + Duty.HRemark + "' Where HItemID=" + Duty.HItemID, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+
+                //淇敼涓婄骇涓洪潪鏈骇浠g爜
+                oCN.RunProc("Update Gy_Duty set HEndflag=0 where HItemID=" + Duty.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
+                oCN.Commit();
+
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region  缁勭粐鏋舵瀯璁剧疆 鍒犻櫎
+        [Route("Gy_DutyBill/Gy_DutyBillDel")]
+        [HttpGet]
+        public object Gy_DutyBillDel(string HItemID, string user)
+        {
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if (string.IsNullOrWhiteSpace(HItemID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HItemID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from Gy_Duty where HParentID='" + HItemID + "' ", "Gy_Duty");
+
+                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 Gy_Duty where HItemID='" + HItemID + "' ", "Gy_Duty");
+
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //鍒犻櫎鏁版嵁
+                oCN.RunProc("Delete from Gy_Duty where HItemID='" + HItemID + "'");
+                //淇敼涓婄骇涓烘湯绾�
+                oCN.RunProc("Update Gy_Duty set HEndflag=1 where HItemID=" + ds.Tables[0].Rows[0]["HParentID"].ToString());
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "* 鏁版嵁鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                //鍥炴粴
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍒犻櫎澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  缁勭粐鏋舵瀯璁剧疆 妫�娴�
+        [Route("Gy_DutyBill/Gy_DutyBillTest")]
+        [HttpGet]
+        public object Gy_DutyBillTest(string HItemID, string user)
+        {
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if (string.IsNullOrWhiteSpace(HItemID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HItemID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //妫�娴嬫暟鎹�
+                oCN.RunProc("exec h_p_Gy_Duty " + HItemID );
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                //鍥炴粴
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+    }
+}
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillController.cs"
index d315210..c9a5385 100644
--- "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillController.cs"
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillController.cs"
@@ -1,19 +1,15 @@
-锘縰sing Newtonsoft.Json.Linq;
-using NPOI.HSSF.UserModel;
-using NPOI.SS.UserModel;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using Pub_Class;
 using System;
+using System.Collections;
 using System.Collections.Generic;
 using System.Data;
-using System.IO;
-using System.Net;
-using System.Net.Http;
-using System.Net.Http.Headers;
-using System.Runtime.InteropServices;
-using System.Web;
+using System.Data.SqlClient;
 using System.Web.Http;
-using System.Windows.Forms;
 using WebAPI.Models;
+using WebAPI.Service;
+
 namespace WebAPI.Controllers.鍩虹璧勬枡.鍩虹璧勬枡
 {
     public class Gy_SOPBillController : ApiController
@@ -23,344 +19,87 @@
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
-        public DAL.ClsGy_SOPBill BillNew = new DAL.ClsGy_SOPBill();
-        public DAL.ClsGy_SOPBill BillOld = new DAL.ClsGy_SOPBill();
-        public bool BillChange;   //
-        public DataGridView grdMain = new System.Windows.Forms.DataGridView();
-        ClsGridViewSum oSumGrid = new ClsGridViewSum();
 
-        //瀹氫箟
-        public const Int16 HTagCol = 0;
-        public const Int16 HSnoCol = 1;
-        public const Int16 HProcNoCol = 2;
-        public const Int16 HProcIDCol = 3;
-        public const Int16 HProcNumberCol = 4;
-        public const Int16 HProcNameCol = 5;
-        public const Int16 HWorkStationIDCol = 6;
-        public const Int16 HWorkStationNumberCol = 7;
-        public const Int16 HWorkStationNameCol = 8;
-        public const Int16 HCenterIDCol = 9;
-        public const Int16 HCenterNumberCol = 10;
-        public const Int16 HCenterNameCol = 11;
-        public const Int16 HRemarkCol = 12;
-        public const Int16 HEntryIDCol = 13;
-
-        DAL.ClsIF_Material_View oMater = new DAL.ClsIF_Material_View();
-        DAL.ClsIF_Unit_View oUnit = new DAL.ClsIF_Unit_View();
-        DAL.ClsIF_Process_View oProc = new DAL.ClsIF_Process_View();
-        DAL.ClsGy_WorkStation_View oStation = new DAL.ClsGy_WorkStation_View();
-        DAL.ClsGy_WorkCenter_View oCenter = new DAL.ClsGy_WorkCenter_View();
-
-        #region  璇诲啓绫�
-        //鏄剧ず鍗曟嵁
-        public void Sub_ShowBill()
-        {
-            DAL.ClsIF_Material_View oMater = new DAL.ClsIF_Material_View();
-            DAL.ClsIF_Unit_View oUnit = new DAL.ClsIF_Unit_View();
-            DAL.ClsIF_Process_View oProc = new DAL.ClsIF_Process_View();
-            DAL.ClsGy_WorkStation_View oStation = new DAL.ClsGy_WorkStation_View();
-            DAL.ClsGy_WorkCenter_View oCenter = new DAL.ClsGy_WorkCenter_View();
-            //ClsGy_SourceHlp oSource = new ClsGy_SourceHlp();
-            //鍒ゆ柇鏄惁瀛樺湪鍗曟嵁
-            if (BillOld.ShowBill(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) == false)
-            {
-                MessageBox.Show(ClsPub.sExeReturnInfo, "鎻愮ず");
-                return;
-            }
-            //grid绂佹鍒锋柊 
-           
-
-            //鍔犺浇琛ㄤ綋
-            int i = 0;
-            foreach (Model.ClsGy_SOPBillSub oSub in BillOld.DetailColl)
-            {
-                if (i >= grdMain.RowCount - 1)
-                    grdMain.Rows.Add();
-                grdMain.Rows[i].Cells[HTagCol].Value = "*";
-
-                grdMain.Rows[i].Cells[HProcIDCol].Value = oSub.HProcID.ToString();
-                if (oProc.GetInfoByID(oSub.HProcID))
-                {
-                    grdMain.Rows[i].Cells[HProcNumberCol].Value = oProc.omodel.HNumber;
-                    grdMain.Rows[i].Cells[HProcNameCol].Value = oProc.omodel.HName;
-                }
-                else
-                {
-                    grdMain.Rows[i].Cells[HProcNumberCol].Value = "";
-                    grdMain.Rows[i].Cells[HProcNameCol].Value = "";
-                }
-                //
-                grdMain.Rows[i].Cells[HCenterIDCol].Value = oSub.HCenterID.ToString();
-                if (oCenter.GetInfoByID(oSub.HCenterID))
-                {
-                    grdMain.Rows[i].Cells[HCenterNumberCol].Value = oCenter.omodel.HNumber;
-                    grdMain.Rows[i].Cells[HCenterNameCol].Value = oCenter.omodel.HName;
-                }
-                else
-                {
-                    grdMain.Rows[i].Cells[HCenterNameCol].Value = "";
-                    grdMain.Rows[i].Cells[HCenterNumberCol].Value = "";
-                }
-                //
-                grdMain.Rows[i].Cells[HWorkStationIDCol].Value = oSub.HWorkStationID.ToString();
-                if (oStation.GetInfoByID(oSub.HWorkStationID))
-                {
-                    grdMain.Rows[i].Cells[HWorkStationNumberCol].Value = oStation.omodel.HNumber;
-                    grdMain.Rows[i].Cells[HWorkStationNameCol].Value = oStation.omodel.HName;
-                }
-                else
-                {
-                    grdMain.Rows[i].Cells[HWorkStationNumberCol].Value = "";
-                    grdMain.Rows[i].Cells[HWorkStationNameCol].Value = "";
-                }
-                //
-                grdMain.Rows[i].Cells[HProcNoCol].Value = oSub.HProcNo.ToString();
-
-                grdMain.Rows[i].Cells[HRemarkCol].Value = oSub.HRemark;
-                grdMain.Rows[i].Cells[HEntryIDCol].Value = oSub.HEntryID;
-                i = i + 1;
-            }
-            //GRID鍏佽鍒锋柊 
-            DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid);
-            //
-            //Sub_OperStatus();
-        }
-        #endregion
-
-
-        #region 淇濆瓨鍗曟嵁
-        [Route("Gy_SOPBill/ModifyByID")]
-        [HttpPost]
-        public object Sub_SaveBill([FromBody] JObject oMain)
+        /// <summary>
+        /// 杩斿洖鐢熶骇璧勬簮鐢熶骇鐘舵�佸伐鍗曞垪琛�
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Sc_ICMOBillStatus_Tmp/list")]
+        [HttpGet]
+        public object list(string sWhere, string user)
         {
             try
             {
-                var _value = oMain["oMain"].ToString();
-                string msg1 = _value.ToString();
-                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-                string msg2 = sArray[0].ToString();
-                string msg3 = sArray[1].ToString();//褰撳墠浜�
-
-                //鍙嶅簭鍒楀寲
-                msg2 = "[" + msg2.ToString() + "]";
-
-                List<SOPBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SOPBill>>(msg2);
-
-                string HBillNo = list[0].HBillNo;
-                DateTime HDate = list[0].HDate;
-                string HName = list[0].HName;
-                int HMaterID = list[0].HMaterID;
-                string HMaterNumber = list[0].HMaterNumber;
-                string HMaterName = list[0].HMaterName;
-                string HMaterModel = list[0].HMaterModel;
-                int HUnitID = list[0].HUnitID;
-                string HUnitNumber = list[0].HUnitNumber;
-                string HUnitName = list[0].HUnitName;
-                string HRemark = list[0].HRemark;
-                bool HStandard = list[0].HStandard;
-                bool HUse = list[0].HUse;
-
-                //鍒ゆ柇鏉冮檺
-                //if (!ClsPub.Security_Log("Gy_Repair_Edit", 1, false, msg3))
+                //缂栬緫鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log_second("Gy_Material", 1, false, user))
                 //{
                 //    objJsonResult.code = "0";
                 //    objJsonResult.count = 0;
-                //    objJsonResult.Message = "娌℃湁鎵惧埌璇ュ姛鑳芥ā鍧楋紒";
+                //    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
                 //    objJsonResult.data = null;
                 //    return objJsonResult;
                 //}
+                string sql1 = string.Format(@"select * from h_v_Sc_WorkOrderList where HMainID='" + sWhere + "'");
+               
+                ds = oCN.RunProcReturn(sql1, "h_v_Sc_WorkOrderList");
+               
 
-                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
-                oCN.BeginTran();
-                //涓昏〃
-                oCN.RunProc("Insert Into Gy_SOPBillMain   " +
-                 "(HBillType,HInterID,HBillNo,HDate" +
-                 ",HYear,HPeriod,HRemark,HMaker,Hmakedate,HMaterID,HName,HMaterTypeID" +
-                 ",HUnitID,HMaterNumber,HUnitNumber,HStandard" +
-                 ") " +
-                  " values('" + 3305 + "'," + HMaterID + ",'" + HMaterID + "','" + "2022-11-04" + "'" +
-                "," + 2022 + "," + 11 + ",'" + HRemark + "','" + "Test" + "'," + "2022-11-04" + "," + HMaterID.ToString() + ",'" + HName + "'," + 656 +
-                "," + HUnitID.ToString() + ",'" + HMaterNumber + "','" + HUnitNumber + "','" + HStandard.ToString() +
-                "') ");
-                //" values(" + 3305 + "','" + 12333 + "','" + "test" + "','" + HDate + "','" +
-                //2022 + "','" + 11 + "','" + HRemark + "','" + "Test" + "','" + "2022-11-04" + "','" + HMaterID.ToString() + "','" + HName + "','" + "656" +
-                //"','" + HUnitID.ToString() + "','" + HMaterNumber + "','" + HUnitNumber + "','" + HStandard.ToString() +
-                //") ");
-                //淇敼涓婄骇涓洪潪鏈骇浠g爜
-                //oCN.RunProc("Update Gy_MouldType set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
-
-                oCN.Commit();
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
-                objJsonResult.Message = "鏂板鎴愬姛锛�";
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
                 return objJsonResult;
             }
             catch (Exception e)
             {
-                oCN.RollBack();
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "Exception锛�" + e.Message;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
         }
-        #endregion
-        [Route("Gy_SOPBill/Use")]
+
+        /// <summary>
+        /// 杩斿洖鏂囦欢娓呭崟鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Sc_ICMOBillStatus_Tmp/Filelist")]
         [HttpGet]
-        public object sy_Click()
+        public object Filelist()
         {
-            if (BillOld.omodel.HInterID == 0)
-            {
-                objJsonResult.Message = "浣跨敤澶辫触!褰撳墠浣滀笟鎸囧涔︿笉鏄祻瑙堢姸鎬�!";
-                return objJsonResult;
-            }
-            if (BillOld.Sub_RoutingCheckAndUsed(BillOld.omodel.HInterID))
-            {
-                objJsonResult.count = 1;
-                objJsonResult.Message = "浣跨敤鎴愬姛!";
-                return objJsonResult;
-            }
-            else
-            {
-                objJsonResult.Message = "浣跨敤澶辫触!";
-                return objJsonResult;
-            }
-        }
-
-        [Route("Gy_SOPBill/Cancel")]
-        [HttpGet]
-        public object fsy_Click()
-        {
-            if (BillOld.omodel.HInterID == 0)
-            {
-                objJsonResult.Message = "鍙嶄娇鐢ㄥけ璐�!褰撳墠浣滀笟鎸囧涔︿笉鏄祻瑙堢姸鎬�!";
-                return objJsonResult;
-            }
-            if (BillOld.Sub_RoutingUsed_Back(BillOld.omodel.HInterID))
-            {
-                objJsonResult.count = 1;
-                objJsonResult.Message = "鍙嶄娇鐢ㄦ垚鍔�!";
-                return objJsonResult;
-            }
-            else
-            {
-                objJsonResult.Message = "鍙嶄娇鐢ㄥけ璐�!";
-                return objJsonResult;
-            }
-        }
-
-        [Route("Gy_SOPBill/UploadFile1")]
-        [HttpPost]
-        public object UploadFile1()
-        {
-
-            string HBillNo = HttpContext.Current.Request.Params["HBillNo"];  //鍗曟嵁鍙�
-            string HRemark = HttpContext.Current.Request.Params["HRemark"];  //澶囨敞
-            string HUserName = HttpContext.Current.Request.Params["HUserName"];  //鍒涘缓浜�
-            HttpPostedFile files = HttpContext.Current.Request.Files["file"];
-            string path = HttpContext.Current.Server.MapPath("~/../Files/" + HBillNo);
-            //string path = @"D:\\Files\\"+ HBillNo;
-            dynamic dyResult = UpLoadFile(files, path, HBillNo, HRemark, HUserName);
-            if (dyResult != null && dyResult.result == 1)
-            {
-                objJsonResult.code = "1";
-                objJsonResult.count = 1;
-                objJsonResult.Message = "涓婁紶鎴愬姛锛�";
-                objJsonResult.data = null;
-                return objJsonResult;
-            }
-            else
-            {
-                objJsonResult.code = "0";
-                objJsonResult.count = 0;
-                objJsonResult.Message = dyResult.returnval;
-                objJsonResult.data = null;
-                return objJsonResult;
-            }
-
-        }
-
-        public dynamic UpLoadFile(HttpPostedFile files, string path, string HBillNo, string HRemark, string HUserName)
-        {
-            dynamic Result_Ob = new { result = 1, returnval = "涓婁紶鎴愬姛锛�" };
-            string filePath = Path.GetFullPath(files.FileName);//鏂囦欢涓婁紶璺緞
-            string fileExtension = Path.GetExtension(files.FileName);// 鏂囦欢鎵╁睍鍚�
-            string filename = files.FileName;//鏂囦欢鍚�
-            string fileSavePath = path;// 涓婁紶淇濆瓨璺緞
-            int filesize = files.ContentLength;//鑾峰彇涓婁紶鏂囦欢鐨勫ぇ灏忓崟浣嶄负瀛楄妭byte
-            int Maxsize = 40000 * 1024;//瀹氫箟涓婁紶鏂囦欢鐨勬渶澶х┖闂村ぇ灏忎负40M
-
             try
             {
-                if (files == null || files.ContentLength <= 0)
-                {
-                    Result_Ob = new { result = 0, returnval = "鏂囦欢涓嶈兘涓虹┖!" };
-                    return Result_Ob;
-                }
-                if (filesize >= Maxsize)
-                {
-                    Result_Ob = new { result = 0, returnval = "涓婁紶鏂囦欢瓒呰繃40M锛屼笉鑳戒笂浼狅紒" };
-                    return Result_Ob;
-                }
+                //缂栬緫鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log_second("Gy_Material", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+                string sql1 = string.Format(@"select HSno 搴忓彿,HFileName 鏂囦欢鍚嶇О from Gy_SOPBillSub2");
 
-                string fileurl = Path.Combine(fileSavePath, filename);
-                if (Directory.Exists(fileurl) == true)  //濡傛灉瀛樺湪閲嶅悕鏂囦欢灏辨彁绀�  
-                {
-                    Result_Ob = new { result = 0, returnval = "瀛樺湪鍚屽悕鏂囦欢锛�" };
-                    return Result_Ob;
-                }
-                //鍒犻櫎鏁版嵁琛ㄦ暟鎹�
-                ds = oCN.RunProcReturn("delete from Gy_SOPBillSub2 where HFileName='" + filename + "'", "Gy_SOPBillSub2");
-                if (Directory.Exists(path))
-                {
-                    File.Delete(fileurl);      //鍒犻櫎鎸囧畾鏂囦欢
-                    files.SaveAs(fileurl);
-                    string StrPath = "/files/" + HBillNo + "/" + filename;
-                    if (File.Exists(fileurl))
-                    {
-                        //杩欓噷鍙互鎵ц涓�浜涘叾瀹冪殑鎿嶄綔锛屾瘮濡傛洿鏂版暟鎹簱
-                        //鍐欏叆鏁版嵁琛�
-                        oCN.RunProc("Insert into Gy_SOPBillSub2 (HFileName,HPath,HFileType" +
-                                    ",HUpMan,HUpTime,HInterID,HEntryID,HSno,HFileID,HFileSize" +
-                                   ") values('"
-                                    + filename.ToString() + "','" + filePath.ToString() + "','" +  fileExtension.ToString() + "'" +
-                                    ",'" + HUserName + "',getdate()"  + ",'" + 0 + "','" + 0 + "','" + 0 + "','" + 0 + "','" + 0 +
-                                   "') ");
-                    }
-                    else
-                    {
-                        Result_Ob = new { result = 0, returnval = "涓婁紶澶辫触锛佹鏂囦欢涓烘伓鎰忔枃浠�" };
-                    }
-                }
-                else
-                {
-                    Directory.CreateDirectory(fileSavePath); //娣诲姞鏂囦欢澶�
-                    files.SaveAs(fileurl);
-                    string StrPath = "/files/" + HBillNo + "/" + filename;
-                    if (File.Exists(fileurl))
-                    {
-                        //杩欓噷鍙互鎵ц涓�浜涘叾瀹冪殑鎿嶄綔锛屾瘮濡傛洿鏂版暟鎹簱
-                        //鍐欏叆鏁版嵁琛�
-                        oCN.RunProc("Insert into Gy_SOPBillSub2 (HFileName,HPath,HFileType" +
-                                     ",HUpMan,HUpTime,HInterID,HEntryID,HSno,HFileID,HFileSize" +
-                                    ") values('"
-                                     + filename.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" +
-                                     ",'" + HUserName + "',getdate()" + ",'" + 111 + "','" + 222 + "','" + 333 + "','" + 444 + "','" + 555 +
-                                    "') ");
-                    }
-                    else
-                    {
-                        Result_Ob = new { result = 0, returnval = "涓婁紶澶辫触锛佹鏂囦欢涓烘伓鎰忔枃浠�" };
-                    }
-                }
+                ds = oCN.RunProcReturn(sql1, "Gy_SOPBillSub2");
 
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
             }
             catch (Exception e)
             {
-                Result_Ob = new { result = 0, returnval = e.Message };
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
             }
-            return Result_Ob;
         }
 
     }
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillEditController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillEditController.cs"
new file mode 100644
index 0000000..d09ad7d
--- /dev/null
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillEditController.cs"
@@ -0,0 +1,367 @@
+锘縰sing Newtonsoft.Json.Linq;
+using NPOI.HSSF.UserModel;
+using NPOI.SS.UserModel;
+using Pub_Class;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.IO;
+using System.Net;
+using System.Net.Http;
+using System.Net.Http.Headers;
+using System.Runtime.InteropServices;
+using System.Web;
+using System.Web.Http;
+using System.Windows.Forms;
+using WebAPI.Models;
+namespace WebAPI.Controllers.鍩虹璧勬枡.鍩虹璧勬枡
+{
+    public class Gy_SOPBillEditController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        DataSet ds;
+        public DAL.ClsGy_SOPBill BillNew = new DAL.ClsGy_SOPBill();
+        public DAL.ClsGy_SOPBill BillOld = new DAL.ClsGy_SOPBill();
+        public bool BillChange;   //
+        public DataGridView grdMain = new System.Windows.Forms.DataGridView();
+        ClsGridViewSum oSumGrid = new ClsGridViewSum();
+
+        //瀹氫箟
+        public const Int16 HTagCol = 0;
+        public const Int16 HSnoCol = 1;
+        public const Int16 HProcNoCol = 2;
+        public const Int16 HProcIDCol = 3;
+        public const Int16 HProcNumberCol = 4;
+        public const Int16 HProcNameCol = 5;
+        public const Int16 HWorkStationIDCol = 6;
+        public const Int16 HWorkStationNumberCol = 7;
+        public const Int16 HWorkStationNameCol = 8;
+        public const Int16 HCenterIDCol = 9;
+        public const Int16 HCenterNumberCol = 10;
+        public const Int16 HCenterNameCol = 11;
+        public const Int16 HRemarkCol = 12;
+        public const Int16 HEntryIDCol = 13;
+
+        DAL.ClsIF_Material_View oMater = new DAL.ClsIF_Material_View();
+        DAL.ClsIF_Unit_View oUnit = new DAL.ClsIF_Unit_View();
+        DAL.ClsIF_Process_View oProc = new DAL.ClsIF_Process_View();
+        DAL.ClsGy_WorkStation_View oStation = new DAL.ClsGy_WorkStation_View();
+        DAL.ClsGy_WorkCenter_View oCenter = new DAL.ClsGy_WorkCenter_View();
+
+        #region  璇诲啓绫�
+        //鏄剧ず鍗曟嵁
+        public void Sub_ShowBill()
+        {
+            DAL.ClsIF_Material_View oMater = new DAL.ClsIF_Material_View();
+            DAL.ClsIF_Unit_View oUnit = new DAL.ClsIF_Unit_View();
+            DAL.ClsIF_Process_View oProc = new DAL.ClsIF_Process_View();
+            DAL.ClsGy_WorkStation_View oStation = new DAL.ClsGy_WorkStation_View();
+            DAL.ClsGy_WorkCenter_View oCenter = new DAL.ClsGy_WorkCenter_View();
+            //ClsGy_SourceHlp oSource = new ClsGy_SourceHlp();
+            //鍒ゆ柇鏄惁瀛樺湪鍗曟嵁
+            if (BillOld.ShowBill(BillOld.omodel.HInterID, ref ClsPub.sExeReturnInfo) == false)
+            {
+                MessageBox.Show(ClsPub.sExeReturnInfo, "鎻愮ず");
+                return;
+            }
+            //grid绂佹鍒锋柊 
+           
+
+            //鍔犺浇琛ㄤ綋
+            int i = 0;
+            foreach (Model.ClsGy_SOPBillSub oSub in BillOld.DetailColl)
+            {
+                if (i >= grdMain.RowCount - 1)
+                    grdMain.Rows.Add();
+                grdMain.Rows[i].Cells[HTagCol].Value = "*";
+
+                grdMain.Rows[i].Cells[HProcIDCol].Value = oSub.HProcID.ToString();
+                if (oProc.GetInfoByID(oSub.HProcID))
+                {
+                    grdMain.Rows[i].Cells[HProcNumberCol].Value = oProc.omodel.HNumber;
+                    grdMain.Rows[i].Cells[HProcNameCol].Value = oProc.omodel.HName;
+                }
+                else
+                {
+                    grdMain.Rows[i].Cells[HProcNumberCol].Value = "";
+                    grdMain.Rows[i].Cells[HProcNameCol].Value = "";
+                }
+                //
+                grdMain.Rows[i].Cells[HCenterIDCol].Value = oSub.HCenterID.ToString();
+                if (oCenter.GetInfoByID(oSub.HCenterID))
+                {
+                    grdMain.Rows[i].Cells[HCenterNumberCol].Value = oCenter.omodel.HNumber;
+                    grdMain.Rows[i].Cells[HCenterNameCol].Value = oCenter.omodel.HName;
+                }
+                else
+                {
+                    grdMain.Rows[i].Cells[HCenterNameCol].Value = "";
+                    grdMain.Rows[i].Cells[HCenterNumberCol].Value = "";
+                }
+                //
+                grdMain.Rows[i].Cells[HWorkStationIDCol].Value = oSub.HWorkStationID.ToString();
+                if (oStation.GetInfoByID(oSub.HWorkStationID))
+                {
+                    grdMain.Rows[i].Cells[HWorkStationNumberCol].Value = oStation.omodel.HNumber;
+                    grdMain.Rows[i].Cells[HWorkStationNameCol].Value = oStation.omodel.HName;
+                }
+                else
+                {
+                    grdMain.Rows[i].Cells[HWorkStationNumberCol].Value = "";
+                    grdMain.Rows[i].Cells[HWorkStationNameCol].Value = "";
+                }
+                //
+                grdMain.Rows[i].Cells[HProcNoCol].Value = oSub.HProcNo.ToString();
+
+                grdMain.Rows[i].Cells[HRemarkCol].Value = oSub.HRemark;
+                grdMain.Rows[i].Cells[HEntryIDCol].Value = oSub.HEntryID;
+                i = i + 1;
+            }
+            //GRID鍏佽鍒锋柊 
+            DBUtility.Xt_BaseBillFun.SetSumGrid(oSumGrid);
+            //
+            //Sub_OperStatus();
+        }
+        #endregion
+
+
+        #region 淇濆瓨鍗曟嵁
+        [Route("Gy_SOPBill/ModifyByID")]
+        [HttpPost]
+        public object Sub_SaveBill([FromBody] JObject oMain)
+        {
+            try
+            {
+                var _value = oMain["oMain"].ToString();
+                string msg1 = _value.ToString();
+                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+                string msg2 = sArray[0].ToString();
+                string msg3 = sArray[1].ToString();//褰撳墠浜�
+
+                //鍙嶅簭鍒楀寲
+                msg2 = "[" + msg2.ToString() + "]";
+
+                List<SOPBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SOPBill>>(msg2);
+
+                string HBillNo = list[0].HBillNo;
+                DateTime HDate = list[0].HDate;
+                string HName = list[0].HName;
+                int HMaterID = list[0].HMaterID;
+                string HMaterNumber = list[0].HMaterNumber;
+                string HMaterName = list[0].HMaterName;
+                string HMaterModel = list[0].HMaterModel;
+                int HUnitID = list[0].HUnitID;
+                string HUnitNumber = list[0].HUnitNumber;
+                string HUnitName = list[0].HUnitName;
+                string HRemark = list[0].HRemark;
+                bool HStandard = list[0].HStandard;
+                bool HUse = list[0].HUse;
+
+                //鍒ゆ柇鏉冮檺
+                //if (!ClsPub.Security_Log("Gy_Repair_Edit", 1, false, msg3))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "娌℃湁鎵惧埌璇ュ姛鑳芥ā鍧楋紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+
+                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                oCN.BeginTran();
+                //涓昏〃
+                oCN.RunProc("Insert Into Gy_SOPBillMain   " +
+                 "(HBillType,HInterID,HBillNo,HDate" +
+                 ",HYear,HPeriod,HRemark,HMaker,Hmakedate,HMaterID,HName,HMaterTypeID" +
+                 ",HUnitID,HMaterNumber,HUnitNumber,HStandard" +
+                 ") " +
+                  " values('" + 3305 + "'," + HMaterID + ",'" + HMaterID + "','" + "2022-11-04" + "'" +
+                "," + 2022 + "," + 11 + ",'" + HRemark + "','" + "Test" + "'," + "2022-11-04" + "," + HMaterID.ToString() + ",'" + HName + "'," + 656 +
+                "," + HUnitID.ToString() + ",'" + HMaterNumber + "','" + HUnitNumber + "','" + HStandard.ToString() +
+                "') ");
+                //" values(" + 3305 + "','" + 12333 + "','" + "test" + "','" + HDate + "','" +
+                //2022 + "','" + 11 + "','" + HRemark + "','" + "Test" + "','" + "2022-11-04" + "','" + HMaterID.ToString() + "','" + HName + "','" + "656" +
+                //"','" + HUnitID.ToString() + "','" + HMaterNumber + "','" + HUnitNumber + "','" + HStandard.ToString() +
+                //") ");
+                //淇敼涓婄骇涓洪潪鏈骇浠g爜
+                //oCN.RunProc("Update Gy_MouldType set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鏂板鎴愬姛锛�";
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+        [Route("Gy_SOPBill/Use")]
+        [HttpGet]
+        public object sy_Click()
+        {
+            if (BillOld.omodel.HInterID == 0)
+            {
+                objJsonResult.Message = "浣跨敤澶辫触!褰撳墠浣滀笟鎸囧涔︿笉鏄祻瑙堢姸鎬�!";
+                return objJsonResult;
+            }
+            if (BillOld.Sub_RoutingCheckAndUsed(BillOld.omodel.HInterID))
+            {
+                objJsonResult.count = 1;
+                objJsonResult.Message = "浣跨敤鎴愬姛!";
+                return objJsonResult;
+            }
+            else
+            {
+                objJsonResult.Message = "浣跨敤澶辫触!";
+                return objJsonResult;
+            }
+        }
+
+        [Route("Gy_SOPBill/Cancel")]
+        [HttpGet]
+        public object fsy_Click()
+        {
+            if (BillOld.omodel.HInterID == 0)
+            {
+                objJsonResult.Message = "鍙嶄娇鐢ㄥけ璐�!褰撳墠浣滀笟鎸囧涔︿笉鏄祻瑙堢姸鎬�!";
+                return objJsonResult;
+            }
+            if (BillOld.Sub_RoutingUsed_Back(BillOld.omodel.HInterID))
+            {
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍙嶄娇鐢ㄦ垚鍔�!";
+                return objJsonResult;
+            }
+            else
+            {
+                objJsonResult.Message = "鍙嶄娇鐢ㄥけ璐�!";
+                return objJsonResult;
+            }
+        }
+
+        [Route("Gy_SOPBill/UploadFile1")]
+        [HttpPost]
+        public object UploadFile1()
+        {
+
+            string HBillNo = HttpContext.Current.Request.Params["HBillNo"];  //鍗曟嵁鍙�
+            string HRemark = HttpContext.Current.Request.Params["HRemark"];  //澶囨敞
+            string HUserName = HttpContext.Current.Request.Params["HUserName"];  //鍒涘缓浜�
+            HttpPostedFile files = HttpContext.Current.Request.Files["file"];
+            string path = HttpContext.Current.Server.MapPath("~/../Files/" + HBillNo);
+            //string path = @"D:\\Files\\"+ HBillNo;
+            dynamic dyResult = UpLoadFile(files, path, HBillNo, HRemark, HUserName);
+            if (dyResult != null && dyResult.result == 1)
+            {
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "涓婁紶鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = dyResult.returnval;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+
+        }
+
+        public dynamic UpLoadFile(HttpPostedFile files, string path, string HBillNo, string HRemark, string HUserName)
+        {
+            dynamic Result_Ob = new { result = 1, returnval = "涓婁紶鎴愬姛锛�" };
+            string filePath = Path.GetFullPath(files.FileName);//鏂囦欢涓婁紶璺緞
+            string fileExtension = Path.GetExtension(files.FileName);// 鏂囦欢鎵╁睍鍚�
+            string filename = files.FileName;//鏂囦欢鍚�
+            string fileSavePath = path;// 涓婁紶淇濆瓨璺緞
+            int filesize = files.ContentLength;//鑾峰彇涓婁紶鏂囦欢鐨勫ぇ灏忓崟浣嶄负瀛楄妭byte
+            int Maxsize = 40000 * 1024;//瀹氫箟涓婁紶鏂囦欢鐨勬渶澶х┖闂村ぇ灏忎负40M
+
+            try
+            {
+                if (files == null || files.ContentLength <= 0)
+                {
+                    Result_Ob = new { result = 0, returnval = "鏂囦欢涓嶈兘涓虹┖!" };
+                    return Result_Ob;
+                }
+                if (filesize >= Maxsize)
+                {
+                    Result_Ob = new { result = 0, returnval = "涓婁紶鏂囦欢瓒呰繃40M锛屼笉鑳戒笂浼狅紒" };
+                    return Result_Ob;
+                }
+
+                string fileurl = Path.Combine(fileSavePath, filename);
+                if (Directory.Exists(fileurl) == true)  //濡傛灉瀛樺湪閲嶅悕鏂囦欢灏辨彁绀�  
+                {
+                    Result_Ob = new { result = 0, returnval = "瀛樺湪鍚屽悕鏂囦欢锛�" };
+                    return Result_Ob;
+                }
+                //鍒犻櫎鏁版嵁琛ㄦ暟鎹�
+                ds = oCN.RunProcReturn("delete from Gy_SOPBillSub2 where HFileName='" + filename + "'", "Gy_SOPBillSub2");
+                if (Directory.Exists(path))
+                {
+                    File.Delete(fileurl);      //鍒犻櫎鎸囧畾鏂囦欢
+                    files.SaveAs(fileurl);
+                    string StrPath = "/files/" + HBillNo + "/" + filename;
+                    if (File.Exists(fileurl))
+                    {
+                        //杩欓噷鍙互鎵ц涓�浜涘叾瀹冪殑鎿嶄綔锛屾瘮濡傛洿鏂版暟鎹簱
+                        //鍐欏叆鏁版嵁琛�
+                        oCN.RunProc("Insert into Gy_SOPBillSub2 (HFileName,HPath,HFileType" +
+                                    ",HUpMan,HUpTime,HInterID,HEntryID,HSno,HFileID,HFileSize" +
+                                   ") values('"
+                                    + filename.ToString() + "','" + filePath.ToString() + "','" +  fileExtension.ToString() + "'" +
+                                    ",'" + HUserName + "',getdate()"  + ",'" + 0 + "','" + 0 + "','" + 0 + "','" + 0 + "','" + 0 +
+                                   "') ");
+                    }
+                    else
+                    {
+                        Result_Ob = new { result = 0, returnval = "涓婁紶澶辫触锛佹鏂囦欢涓烘伓鎰忔枃浠�" };
+                    }
+                }
+                else
+                {
+                    Directory.CreateDirectory(fileSavePath); //娣诲姞鏂囦欢澶�
+                    files.SaveAs(fileurl);
+                    string StrPath = "/files/" + HBillNo + "/" + filename;
+                    if (File.Exists(fileurl))
+                    {
+                        //杩欓噷鍙互鎵ц涓�浜涘叾瀹冪殑鎿嶄綔锛屾瘮濡傛洿鏂版暟鎹簱
+                        //鍐欏叆鏁版嵁琛�
+                        oCN.RunProc("Insert into Gy_SOPBillSub2 (HFileName,HPath,HFileType" +
+                                     ",HUpMan,HUpTime,HInterID,HEntryID,HSno,HFileID,HFileSize" +
+                                    ") values('"
+                                     + filename.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" +
+                                     ",'" + HUserName + "',getdate()" + ",'" + 111 + "','" + 222 + "','" + 333 + "','" + 444 + "','" + 555 +
+                                    "') ");
+                    }
+                    else
+                    {
+                        Result_Ob = new { result = 0, returnval = "涓婁紶澶辫触锛佹鏂囦欢涓烘伓鎰忔枃浠�" };
+                    }
+                }
+
+            }
+            catch (Exception e)
+            {
+                Result_Ob = new { result = 0, returnval = e.Message };
+            }
+            return Result_Ob;
+        }
+
+    }
+}
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Xt_CheckFlowBillController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Xt_CheckFlowBillController.cs"
new file mode 100644
index 0000000..9e9e8ab
--- /dev/null
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Xt_CheckFlowBillController.cs"
@@ -0,0 +1,407 @@
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Web.Http;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers.鍩虹璧勬枡.鍩虹璧勬枡
+{
+    public class Xt_CheckFlowBillController : ApiController
+    {
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+        #region 瀹℃牳娴佺▼鍗曞垪琛�
+        [Route("Xt_CheckFlowBill/Xt_CheckFlowBillList")]
+        [HttpGet]
+        public object Xt_CheckFlowBillList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鏌ヨ鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Xt_CheckFlow_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string sql1 = string.Format(@"select * from h_v_Xt_CheckFlowList where 1=1  ");
+
+                ds = oCN.RunProcReturn(sql1 + sWhere+ " order by 娴佺▼鍚嶇О", "h_v_Xt_CheckFlowList");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        # region 瀹℃牳娴佺▼鍗� 淇濆瓨
+        [Route("Xt_CheckFlowBill/Xt_CheckFlowBillEdit")]
+        [HttpPost]
+        public object Xt_CheckFlowBillEdit([FromBody] JObject msg)
+        {
+            var _value = msg["msg"].ToString();
+            string msg3 = _value.ToString();
+            string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg1 = sArray[0].ToString();
+            string msg2 = sArray[1].ToString();
+             msg3 = sArray[2].ToString();
+            string msg4 = sArray[3].ToString();
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+            //缂栬緫鏉冮檺
+            if (!DBUtility.ClsPub.Security_Log_second("Xt_CheckFlow_Edit", 1, false, msg4))
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            try
+            {
+                Models.Xt_CheckFlowMain main = JsonConvert.DeserializeObject<Xt_CheckFlowMain>(msg1);
+                List<Models.Xt_CheckFlowSub> lsmain = new List<Models.Xt_CheckFlowSub>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain =JsonConvert.DeserializeObject<List<Xt_CheckFlowSub>>(msg2);
+                foreach (Xt_CheckFlowSub oItem in lsmain)
+                {
+                    if (oItem.HCheckItemID == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佸鎵归」鐩唬鐮佷笉鑳戒负绌猴紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    if (oItem.HFlowNo == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佹祦绋嬪彿涓嶈兘涓虹┖锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                }
+                ds = oCN.RunProcReturn("select  *  from h_v_Xt_CheckFlowList where Hmainid= " + main.HInterID, "h_v_Xt_CheckFlowList");
+
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                oCN.BeginTran();
+                if (msg3 == "1" && ds.Tables[0].Rows.Count == 0)
+                {
+                    oCN.RunProc("Insert Into Xt_CheckFlowMain   " +
+                         "(HBillTypeID,HInterID,HDeptID" +
+                         ",HRemark,HStandard,HName" + ") " +
+                         " values('" + main.HBillTypeID.ToString() + "'," + main.HInterID.ToString() + "," + main.HDeptID.ToString() +
+                         ",'" + main.HRemark + "'," + Convert.ToString(main.HStandard ? 1 : 0) + ",'" + main.HName.ToString() + "') ");
+                }
+                else
+                {
+                    //鏇存柊涓昏〃
+                    oCN.RunProc("UpDate Xt_CheckFlowMain set  " +
+                    "HRemark='" + main.HRemark + "'" +
+                    ",HName='" + main.HName + "'" +
+                    ",HDeptID=" + main.HDeptID.ToString() +
+                    ",HBillTypeID='" + main.HBillTypeID + "'" +
+                    ",HStandard='" + Convert.ToString(main.HStandard ? 1 : 0) + "'" +
+                    " where HInterID=" + main.HInterID.ToString());
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("delete from Xt_CheckFlowSub where HInterID=" + main.HInterID.ToString());
+                }
+                AddBillSub(lsmain, main.HInterID);
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+
+        public json AddBillSub(List<Xt_CheckFlowSub> DetailColl, long HInterID)
+        {
+            int i = 1;
+            foreach (Xt_CheckFlowSub oSub in DetailColl)
+            {
+
+                oCN.RunProc("Insert into Xt_CheckFlowSub " +
+                             " (HInterID,HEntryID,HCheckMan" +
+                             ",HFlowNo,HJumpFlag,HMakerSelf,HCheckItemID" +
+                             " )values("
+                             + HInterID + "," + i + ",'" + oSub.HCheckMan + "'" +
+                             "," + oSub.HFlowNo + "," + Convert.ToString(oSub.HJumpFlag ? 1 : 0) + "," + Convert.ToString(oSub.HMakerSelf ? 1 : 0) + "," + oSub.HCheckItemID + ") ");
+                i++;
+            }
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+
+        #endregion
+
+        #region  瀹℃牳娴佺▼鍗� 鍒犻櫎
+        [Route("Xt_CheckFlowBill/Xt_CheckFlowBillDelete")]
+        [HttpGet]
+        public object Xt_CheckFlowBillDelete(string HItemID, string user)
+        {
+            try
+            {
+                //鍒犻櫎鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Xt_CheckFlow_Drop", 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();//寮�濮嬩簨鍔�
+
+                //鍒犻櫎瀛愯〃
+                oCN.RunProc("Delete From Xt_CheckFlowSub where HInterID=" + HItemID);
+
+                //鍒犻櫎涓昏〃
+                oCN.RunProc("Delete From Xt_CheckFlowMain where HInterID=" + HItemID);
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "* 鏁版嵁鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                //鍥炴粴
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍒犻櫎澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 瀹℃壒鐢ㄦ埛鏉冮檺璁剧疆
+        [Route("Xt_CheckFlowBill/Xt_CheckUserRight")]
+        [HttpGet]
+        public object Xt_CheckUserRight()
+        {
+            try
+            {
+                string sql1 = string.Format(@"select  * from Gy_Czygl ");
+
+                ds = oCN.RunProcReturn(sql1, "Gy_Czygl");
+
+                string TreeStr = "[{\"title\": \"瀹℃壒鐢ㄦ埛鏉冮檺璁剧疆\", \"id\": \"1\" ,\"spread\": \"true\",\"children\":[";
+
+                foreach (DataRow item in ds.Tables[0].Rows)
+                {
+                    TreeStr+= "{  \"title\": \"" + item["Czymc"].ToString() + "\",\"id\": \"" + item["Czybm"].ToString() + "\"},";
+                }
+                TreeStr = TreeStr.Substring(0, TreeStr.Length - 1);
+                TreeStr += "]}]";
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = JsonConvert.DeserializeObject(TreeStr);
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 瀹℃壒鐢ㄦ埛鏉冮檺璁剧疆 鍙�
+        [Route("Xt_CheckFlowBill/Xt_CheckUserRightListMain")]
+        [HttpGet]
+        public object Xt_CheckUserRightListMain(string sWhere)
+        {
+            try
+            {
+                string sql1 = string.Format(@"select *,row_number()over(ORDER BY HInterID ) num from h_v_Xt_CheckUserRightMain where 1=1 ");
+
+                ds = oCN.RunProcReturn(sql1+sWhere, "h_v_Xt_CheckUserRightMain");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 瀹℃壒鐢ㄦ埛鏉冮檺璁剧疆 宸�
+        [Route("Xt_CheckFlowBill/Xt_CheckUserRightListMainSource")]
+        [HttpGet]
+        public object Xt_CheckUserRightListMainSource(string sWhere)
+        {
+            try
+            {
+                string sql1 = string.Format(@"select *,row_number()over(ORDER BY HInterID ) num from h_v_Xt_CheckUserRightSource where 1=1 ");
+
+                ds = oCN.RunProcReturn(sql1 + sWhere, "h_v_Xt_CheckUserRightSource");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 瀹℃壒鐢ㄦ埛鏉冮檺璁剧疆 淇濆瓨
+        //瀛楁
+        public class Xt_CheckUserRightsub
+        {
+            public int hcheckitemid;
+        }
+        [Route("Xt_CheckFlowBill/Xt_CheckUserRightEdit")]
+        [HttpPost]
+        public object Xt_CheckUserRightEdit([FromBody] JObject msg)
+        {
+            var _value = msg["msg"].ToString();
+            string msg3 = _value.ToString();
+            string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg1 = sArray[0].ToString();
+            string msg2 = sArray[1].ToString();
+            msg3 = sArray[2].ToString();
+            string msg4 = sArray[3].ToString();
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+            //缂栬緫鏉冮檺
+            if (!DBUtility.ClsPub.Security_Log_second("Xt_CheckFlow_Edit", 1, false, msg4))
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            try
+            {
+                List<Xt_CheckUserRightsub> lsmain = new List<Xt_CheckUserRightsub>();
+                msg1 = msg1.Replace("\\", "");
+                msg1 = msg1.Replace("\n", "");  //\n
+                lsmain = JsonConvert.DeserializeObject<List<Xt_CheckUserRightsub>>(msg1);
+
+                oCN.BeginTran();
+                //鍒犻櫎鍘熻褰�
+                oCN.RunProc("Delete From Xt_CheckUserRight where HUserID='" + msg2 + "'and HCheckFlowInterID=" + msg3 + "");
+                var HCheckItemID=0;
+                //鏂板璁板綍
+                for (int i = 0; i <= lsmain.Count - 1; i++)
+                {
+                    if (HCheckItemID != lsmain[i].hcheckitemid)
+                    {
+                        oCN.RunProc("insert into Xt_CheckUserRight(HUserID,HCheckFlowInterID,HCheckItemID) values('" + msg2 + "'," + msg3 + "," + lsmain[i].hcheckitemid + ") ");
+                        HCheckItemID = lsmain[i].hcheckitemid;
+                    }
+                   
+                }
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+    }
+}
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Xt_CheckItemBillController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Xt_CheckItemBillController.cs"
new file mode 100644
index 0000000..8588b9d
--- /dev/null
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Xt_CheckItemBillController.cs"
@@ -0,0 +1,262 @@
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Web.Http;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers.鍩虹璧勬枡.鍩虹璧勬枡
+{
+    public class Xt_CheckItemBillController : ApiController
+    {
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+        #region 瀹℃牳椤圭洰鍒楄〃
+        [Route("Xt_CheckItemBill/Xt_CheckItemList")]
+        [HttpGet]
+        public object Xt_CheckItemList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鏌ヨ鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Xt_CheckItem_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string sql1 = string.Format(@"select * from h_v_Xt_CheckItemList where 1=1  ");
+
+                ds = oCN.RunProcReturn(sql1 + sWhere + " order by 瀹℃壒椤圭洰浠g爜 ", "h_v_Xt_CheckItemList");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 瀹℃牳椤圭洰淇濆瓨
+        [Route("Xt_CheckItemBill/Xt_CheckItemEdit")]
+        [HttpPost]
+        public object Xt_CheckItemEdit([FromBody] JObject msg)
+        {
+            DataSet ds;
+            var _value = msg["msg"].ToString();
+            string msg3 = _value.ToString();
+            string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg1 = sArray[0].ToString();
+            string msg2 = sArray[1].ToString();
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+            //缂栬緫鏉冮檺
+            if (!DBUtility.ClsPub.Security_Log_second("Xt_CheckItem_Edit", 1, false, msg2))
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            ListModels oListModels = new ListModels();
+            try
+            {
+                List<Models.Xt_CheckItem> lsmain = new List<Models.Xt_CheckItem>();
+                msg1 = msg1.Replace("\\", "");
+                msg1 = msg1.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_Xt_CheckItem(msg1);
+                foreach (Xt_CheckItem oItem in lsmain)
+                {
+                    if (oItem.HNumber.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮佷笉鑳戒负绌猴紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    if (oItem.HName.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佸悕绉颁笉鑳戒负绌猴紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+
+                    //鏌ヨ鏁版嵁涓槸鍚﹀瓨鍦ㄩ噸澶嶄唬鐮�
+                    ds = oCN.RunProcReturn("select * from  Xt_CheckItem where HStopflag=0 and HNumber='" + oItem.HNumber.Trim() + "'", "Xt_CheckItem");
+                    //鏂板鏃跺垽鏂�
+                    if (oItem.HItemID == 0)
+                    {
+                        if (ds == null || ds.Tables[0].Rows.Count == 0)
+                        {
+
+                        }
+                        else
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮侀噸澶嶏紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                oCN.BeginTran();
+                foreach (Xt_CheckItem oItem in lsmain)
+                {
+                    bool bResult = false;
+                    if (oItem.HItemID == 0)
+                    {
+
+                        oCN.RunProc("Insert into Xt_CheckItem " +
+                            " (HNumber,HName" +
+                            ",HStopflag,HRemark) " +
+                            " Values('" + oItem.HNumber + "','" + oItem.HName +
+                            "'," + Convert.ToString(oItem.HStopFlag ? 1 : 0) + ",'" + oItem.HRemark + "')");
+
+                        bResult = true;
+                    }
+                    else
+                    {
+                        oCN.RunProc("Update Xt_CheckItem set " +
+                           " HNumber='" + oItem.HNumber + "'" +
+                           ",HName='" + oItem.HName + "'" +
+                           ",HStopflag=" + Convert.ToString(oItem.HStopFlag ? 1 : 0) +
+                           ",HRemark= '" + oItem.HRemark + "' Where HItemID=" + oItem.HItemID);
+                        bResult = true;
+                    }
+
+                    if (!bResult)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+
+                }
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region  瀹℃牳椤圭洰鍒犻櫎
+        [Route("Xt_CheckItemBill/Xt_CheckItemBillDelete")]
+        [HttpGet]
+        public object Xt_CheckItemBillDelete(string HItemID, string user)
+        {
+            try
+            {
+                //鍒犻櫎鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Xt_CheckItem_Drop", 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 Xt_CheckItem where HItemID=" + HItemID, "Xt_CheckItem");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鏁版嵁锛屾棤娉曞垹闄わ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult; ;
+                }
+                var HStopflag = Convert.ToBoolean(ds.Tables[0].Rows[0]["HStopflag"]);
+                if (HStopflag)
+                {
+                    oCN.RollBack();//鍥炴粴浜嬪姟
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏁版嵁宸插垹闄ゆ棤娉曞啀娆″垹闄わ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.RunProc("update Xt_CheckItem set HStopflag=1 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
+    }
+}
diff --git a/WebAPI/ListModels.cs b/WebAPI/ListModels.cs
index 2733854..983a9c2 100644
--- a/WebAPI/ListModels.cs
+++ b/WebAPI/ListModels.cs
@@ -838,6 +838,18 @@
         }
 
         /// <summary>
+        /// 澶勭悊鏂板瀹℃牳椤圭洰鐨刯son
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Models.Xt_CheckItem> getObjectByJson_Xt_CheckItem(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Models.Xt_CheckItem> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.Xt_CheckItem>>(jsonString);
+            return list;
+        }
+
+        /// <summary>
         /// 澶勭悊鏂板璁惧缁翠慨涓昏〃鐨刯son
         /// </summary>
         /// <param name="jsonString"></param>
diff --git a/WebAPI/Models/Xt_CheckFlowMain.cs b/WebAPI/Models/Xt_CheckFlowMain.cs
new file mode 100644
index 0000000..63c076f
--- /dev/null
+++ b/WebAPI/Models/Xt_CheckFlowMain.cs
@@ -0,0 +1,17 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+namespace WebAPI.Models
+{
+    public class Xt_CheckFlowMain
+    {
+        public Int64 HInterID;
+        public string HName;
+        public string HBillTypeID;
+        public Int64 HDeptID;
+        public bool HStandard;
+        public string HRemark;
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Models/Xt_CheckFlowSub.cs b/WebAPI/Models/Xt_CheckFlowSub.cs
new file mode 100644
index 0000000..7bfcf0c
--- /dev/null
+++ b/WebAPI/Models/Xt_CheckFlowSub.cs
@@ -0,0 +1,19 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+namespace WebAPI.Models
+{
+    public class Xt_CheckFlowSub
+    {
+        public Int64 HInterID;
+        public Int64 HEntryID;
+        public int HSno;
+        public string HFlowNo;
+        public long HCheckItemID;
+        public bool HJumpFlag;
+        public bool HMakerSelf;
+        public string HCheckMan;
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Models/Xt_CheckItem.cs b/WebAPI/Models/Xt_CheckItem.cs
new file mode 100644
index 0000000..33155d0
--- /dev/null
+++ b/WebAPI/Models/Xt_CheckItem.cs
@@ -0,0 +1,16 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+namespace WebAPI.Models
+{
+    public class Xt_CheckItem
+    {
+        public int HItemID;
+        public string HNumber;
+        public string HName;
+        public string HRemark;
+        public bool HStopFlag;
+    }
+}
\ No newline at end of file
diff --git "a/WebAPI/Models/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_Duty.cs" "b/WebAPI/Models/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_Duty.cs"
new file mode 100644
index 0000000..9988568
--- /dev/null
+++ "b/WebAPI/Models/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_Duty.cs"
@@ -0,0 +1,22 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+namespace WebAPI.Models.鍩虹璧勬枡
+{
+    public class Gy_Duty
+    {
+        public int HItemID;
+        public int HParentID;
+        public int HLevel;
+        public string HNumber { get; set; }
+        public string HName { get; set; }
+        public string HUserGroupID { get; set; }
+        public string HRemark { get; set; }
+        public string HShortNumber { get; set; }
+        public string HHelpCode { get; set; }
+        public bool HStopflag;
+        public int HEndFlag;
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/WebAPI.csproj b/WebAPI/WebAPI.csproj
index 2b5f3d7..f31c542 100644
--- a/WebAPI/WebAPI.csproj
+++ b/WebAPI/WebAPI.csproj
@@ -439,10 +439,13 @@
     <Compile Include="Controllers\浠撳瓨绠$悊\棰嗘枡鍙戣揣\Kf_StepFoldOutBillController.cs" />
     <Compile Include="Controllers\浠撳瓨绠$悊\楠屾敹鍏ュ簱\Kf_StepFoldinBillController.cs" />
     <Compile Include="Controllers\鍗氭棩鑷姩鎵爜绾縗ScanlineAPIController.cs" />
+    <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_DutyBillController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_SOPBillController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_SOPBillListController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_StockCheckItemBillController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_WorkStationBillController.cs" />
+    <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Xt_CheckFlowBillController.cs" />
+    <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Xt_CheckItemBillController.cs" />
     <Compile Include="Controllers\宸ヨ祫绠$悊\Pay_MonthlySalaryReportController.cs" />
     <Compile Include="Controllers\宸ヨ祫绠$悊\Pay_PieceRateWageReportController.cs" />
     <Compile Include="Controllers\宸ヨ祫绠$悊\Gy_ClassTimePrjBillController.cs" />
@@ -602,10 +605,14 @@
     <Compile Include="Models\TechnologyParameter.cs" />
     <Compile Include="Models\TechnologyParameterUnit.cs" />
     <Compile Include="Models\TechParamByProc.cs" />
+    <Compile Include="Models\Xt_CheckFlowMain.cs" />
+    <Compile Include="Models\Xt_CheckFlowSub.cs" />
+    <Compile Include="Models\Xt_CheckItem.cs" />
     <Compile Include="Models\鍏跺畠\ReciveBill_FastModel.cs" />
     <Compile Include="Models\鍔ㄦ�佸垪\OptionListModel.cs" />
     <Compile Include="Models\鍩虹璧勬枡\ConkType.cs" />
     <Compile Include="Models\鍩虹璧勬枡\Gy_ClassTimePrj.cs" />
+    <Compile Include="Models\鍩虹璧勬枡\Gy_Duty.cs" />
     <Compile Include="Models\鍩虹璧勬枡\PackType.cs" />
     <Compile Include="Models\鍩虹璧勬枡\WorkStation.cs" />
     <Compile Include="Models\宸ヨ祫绠$悊\ClsGy_ClassTimePrj_Model.cs" />
@@ -862,6 +869,7 @@
     <Folder Include="Views\Cj_ComplementGoodsBill\" />
     <Folder Include="Views\Cj_SendGoodsBill\" />
     <Folder Include="Views\Gy_ConkType\" />
+    <Folder Include="Views\Gy_DutyBill\" />
     <Folder Include="Views\Gy_EquipType\" />
     <Folder Include="Views\Gy_ICBomBill\" />
     <Folder Include="Views\Gy_MateMould\" />
@@ -896,6 +904,8 @@
     <Folder Include="Views\Sc_WorkBillAutoSortBillMain\" />
     <Folder Include="Views\Sc_WorkBillSortBill\" />
     <Folder Include="Views\Sc_WorkDemandPlanBill\" />
+    <Folder Include="Views\Xt_CheckFlowBill\" />
+    <Folder Include="Views\Xt_CheckItem\" />
     <Folder Include="Views\Xt_grdAlignment_WMES\" />
   </ItemGroup>
   <ItemGroup>

--
Gitblit v1.9.1