From d1b14d00d9ee4ff4a1b271e6b4fe094f5049a55f Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期一, 17 三月 2025 09:23:16 +0800
Subject: [PATCH] 采购入库单:下推采购退料单

---
 WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs | 1788 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 1,694 insertions(+), 94 deletions(-)

diff --git a/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs b/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
index aa4976d..8bc50fb 100644
--- a/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
+++ b/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
@@ -1,4 +1,6 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing DBUtility;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
 using System.Data;
@@ -7,7 +9,10 @@
 using System.Net.Http;
 using System.Web.Http;
 using WebAPI.Models;
-
+using System.Web;
+using WebAPI.Controllers.SCGL.鏃ヨ鍒掔鐞�;
+using System.IO;
+using SyntacticSugar.constant;
 namespace WebAPI.Controllers.SBGL
 {
     public class Gy_EquipFileMainController : ApiController
@@ -16,51 +21,52 @@
         private json objJsonResult = new json();
         public DataSet ds = new DataSet();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
-        public DLL.ClsGy_EquipFileMain BillNew0 = new DLL.ClsGy_EquipFileMain();   
-        public DLL.ClsGy_EquipFileMain BillOld0 = new DLL.ClsGy_EquipFileMain();   
+        public DLL.ClsGy_EquipFileMain BillNew0 = new DLL.ClsGy_EquipFileMain();
+        public DLL.ClsGy_EquipFileMain BillOld0 = new DLL.ClsGy_EquipFileMain();
+        public DAL.ClsGy_EquipFileMain BillOld = new DAL.ClsGy_EquipFileMain();
 
         #region 璁惧妗f鍒楄〃
 
         [Route("Gy_EquipFileMain/GetList")]
         [HttpGet]
-        public object GetList(string sWhere)
+        public object GetList(string sWhere, string user)
         {
             try
             {
-                //if (!DBUtility.ClsPub.Security_Log(ModRightNameSelect, 1, true, user))
-                //{
-                //    objJsonResult.code = "0";
-                //    objJsonResult.count = 0;
-                //    objJsonResult.Message = "娌℃湁鏌ョ湅鏉冮檺";
-                //    objJsonResult.data = null;
-                //    return objJsonResult;
-                //}
+                List<object> columnNameList = new List<object>();
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鏌ョ湅鏉冮檺";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
                 if (sWhere == null || sWhere.Equals(""))
                 {
-                    ds = oCN.RunProcReturn("select *from h_v_Gy_EquipFileMainList " + sWhere + "order by 鏃ユ湡 desc", "h_v_Gy_EquipFileMainList");
+                    ds = oCN.RunProcReturn("select * from h_v_Gy_EquipFileMainList " + sWhere + " order by hmainid desc", "h_v_Gy_EquipFileMainList");
                 }
                 else
                 {
                     string sql1 = "select * from h_v_Gy_EquipFileMainList where 1 = 1 ";
-                    string sql = sql1 + sWhere + "order by 鏃ユ湡 desc";
+                    string sql = sql1 + sWhere + " order by hmainid desc";
                     ds = oCN.RunProcReturn(sql, "h_v_Gy_EquipFileMainList");
                 }
-                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
                 {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "鏆傛棤鏁版嵁锛�";
-                    objJsonResult.data = null;
-                    return objJsonResult;
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
                 }
-                else
-                {
-                    objJsonResult.code = "1";
-                    objJsonResult.count = 1;
-                    objJsonResult.Message = "Sucess锛�";
-                    objJsonResult.data = ds.Tables[0];
-                    return objJsonResult;
-                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
             }
             catch (Exception e)
             {
@@ -74,12 +80,68 @@
 
         #endregion
 
+        #region 涓嬫帹鏍规嵁璁惧id鏌ヨ鍥炴樉
+        [Route("Gy_EquipFileMain/get锘縎b_EquipList")]
+        [HttpGet]
+        public object getSb_EquipBeginBillList(int HInterID, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_EquipFileBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from h_v_Gy_EquipFileMainList where hmainid=" + HInterID, " h_v_Gy_EquipFileMainList");
+
+                //娣诲姞鍒楀悕
+                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 [璁惧妗f鍒犻櫎鍔熻兘]
         [Route("Gy_EquipFileMain/Delete_EquipFile")]
         [HttpGet]
-        public object Delete_EquipFile(string HItemID)
+        public object Delete_EquipFile(string HItemID, string user)
         {
-            string s = "";
+            if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Delete", 1, false, user))
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+
+            //string s = "";
             Int64 lngBillKey = 0;
             lngBillKey = DBUtility.ClsPub.isLong(HItemID);
             if (lngBillKey == 0)
@@ -91,25 +153,28 @@
                 return objJsonResult;
             }
             DLL.ClsGy_EquipFileMain oBill = new DLL.ClsGy_EquipFileMain();
-            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
+            oCN.BeginTran();
+            ds = oCN.RunProcReturn("select * from Gy_EquipFileBillMain where HInterID=" + HItemID, "Gy_EquipFileBillMain");
+            if (ds.Tables[0].Rows.Count > 0)
             {
-                bool IsDete = oBill.DeleteBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo);
-                if (IsDete)
-                {
-                    objJsonResult.code = "1";
-                    objJsonResult.count = 1;
-                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
-                else
+                if (int.Parse(ds.Tables[0].Rows[0]["HBillStatus"].ToString()) > 1)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.Message = "鍗曟嵁褰撳墠澶勪簬涓嶈兘鍒犻櫎鐘舵�侊紒";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+
+                oCN.RunProc("Delete From Gy_EquipFileBillMain  where HInterID=" + lngBillKey);
+                oCN.RunProc("Delete From Gy_EquipFileBillSub_MaintainRule  where HInterID=" + lngBillKey);
+                oCN.RunProc("Delete From Gy_EquipFileBillSub_DotCheckRule  where HInterID=" + lngBillKey);
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛";
+                objJsonResult.data = null;
+                return objJsonResult;
             }
             else
             {
@@ -119,6 +184,7 @@
                 objJsonResult.data = null;
                 return objJsonResult;
             }
+            
         }
 
         #endregion
@@ -130,12 +196,86 @@
         {
             try
             {
-                ds = oCN.RunProcReturn("select * from h_v_Gy_EquipFileMainList where hmainid=" + HInterID, "h_v_Gy_EquipFileMainList");
+                ds = oCN.RunProcReturn("select * from h_v_Gy_EquipFileMain_Edit where hmainid=" + HInterID, "h_v_Gy_EquipFileMain_Edit");
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "";
                 objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        # region 璁惧淇濆吇瑙勭▼缂栬緫鏃惰幏鍙栬〃浣撴暟鎹柊(淇濆吇瑙勭▼鍒楄〃銆佺偣妫�瑙勭▼鍒楄〃)
+        [Route("Gy_EquipFileMain/Gy_EquipFileMainSubAndSubItem")]
+        [HttpGet]
+        public object Gy_EquipFileMainSubAndSubItem(string HInterID)
+        {
+
+            DataSet ds, ds1;
+            List<object> list = new List<object>();
+            string Swhere = "";
+            try
+            {
+                if (HInterID != "" || HInterID != null)
+                {
+                    Swhere = " and hmainid='" + HInterID + "'";
+                }
+                else
+                {
+                    Swhere = HInterID;
+                }
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                //鑾峰彇淇濆吇椤圭洰缂栬緫鏁版嵁
+                string sql = "select 淇濆吇椤圭洰ID HMaintainItemID,淇濆吇椤圭洰浠g爜 HMaintainItemNumber,淇濆吇椤圭洰 HMaintainItem,淇濆吇閮ㄤ綅 HMaintainPart,鍏蜂綋瑕佹眰 HClaim,璐熻矗浜篒D HManagerID,璐熻矗浜轰唬鐮� HManagerNumber,璐熻矗浜哄悕绉� HManagerName,瀛愬娉�2 HRemark from h_v_Sb_EquipMaintainRuleSub_Item where 1 = 1 " + Swhere + "";
+                ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipMaintainRuleSub_Item");
+                //鑾峰彇閰嶄欢椤圭洰缂栬緫鏁版嵁
+                string sql1 = "select 閰嶄欢ID HMaterID,閰嶄欢浠g爜 HMaterNumber,閰嶄欢鍚嶇О HMaterName,鍗曚綅ID HUnitID,璁¢噺鍗曚綅浠g爜 HUnitNumber,璁¢噺鍗曚綅鍚嶇О HUnitName,鐢ㄩ噺 HQty,瀛愬娉�1 HRemark from h_v_Sb_EquipMaintainRuleSub where 1 = 1 " + Swhere + "";
+                ds1 = oCN.RunProcReturn(sql1, "h_v_Sb_EquipMaintainRuleSub");
+
+                list.Add(ds.Tables[0]);
+                list.Add(ds1.Tables[0]);
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                objJsonResult.list = list;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+            }
+            return objJsonResult;
+        }
+        #endregion
+
+        #region[璁惧妗f缂栬緫鏃惰幏鍙栧瓙琛ㄦ暟鎹甝
+        [Route("Gy_EquipFileMain/Gy_EquipFileSubDetai")]
+        [HttpGet]
+        public object Gy_EquipFileSubDetai(long HInterID)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+                ds = oCN.RunProcReturn("select a.*,b.HBillNo from Gy_EquipFileBillSub_MaintainRule AS a left join Sb_EquipMaintainRuleBillMain as b on b.HInterID = a.HMaintainRuleID where a.HInterID = " + HInterID, "Gy_EquipFileBillSub_MaintainRule");
+                tableList.Add(ds.Tables[0]);
+                ds = oCN.RunProcReturn("select a.*,b.HBillNo from Gy_EquipFileBillSub_DotCheckRule AS a left join Sb_EquipDotCheckRuleBillMain as b on b.HInterID = a.HDotCheckRuleID where a.HInterID = " + HInterID, "Gy_EquipFileBillSub_DotCheckRule");
+                tableList.Add(ds.Tables[0]);
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "";
+                objJsonResult.data = tableList;
                 return objJsonResult;
             }
             catch (Exception e)
@@ -164,34 +304,44 @@
                 var _value = oMain["oMain"].ToString();
                 string msg1 = _value.ToString();
                 string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-                string msg2 = sArray[0].ToString();
-                string msg3 = sArray[1].ToString();
-                string msg4 = sArray[2].ToString();
+                string msg2 = sArray[0].ToString(); //涓昏〃鏁版嵁
+                string msg3 = sArray[1].ToString(); //瀛愯〃1
+                string msg4 = sArray[2].ToString(); //瀛愯〃2
+                string msg5 = sArray[3].ToString(); //鐢ㄦ埛
+
+                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Edit", 1, false, msg5))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
 
                 //鍙嶅簭鍒楀寲
                 msg2 = "[" + msg2.ToString() + "]";
 
                 List<Models.ClsGy_EquipFileMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.ClsGy_EquipFileMain>>(msg2);
 
-                string hbillno= list[0].HBillNo;
+                string hbillno = list[0].HBillNo;
                 string HYear = DateTime.Now.Year.ToString();
                 DateTime HDate = list[0].HDate;
                 long HInterID = list[0].HInterID;
-                string HEquipFileNumber = list[0].HEquipFileNumber; 
+                string HEquipFileNumber = list[0].HEquipFileNumber;
                 string HEquipFileNo = list[0].HEquipFileNo;         //	varchar(50)	//璁惧缂栫爜(鍞竴)
                 string HName = list[0].HName;                //    鈭�	varchar(100)     	//璁惧鍚嶇О
                 string HModel = list[0].HModel;               //   鈭� 	varchar(100)     	//璁惧瑙勬牸
                 string HModel2 = list[0].HModel2;              //    鈭�	varchar(100)    	//璁惧鍨嬪彿 
                 int HMaterID = list[0].HMaterID;                //   鈭�	int    		//瀵瑰簲鐗╂枡 
                 int HUnitID = list[0].HUnitID;                 //    鈭�	int    		//鍗曚綅
-                DateTime HOutComDate = list[0].HOutComDate;        // 鈭� 	datetime   	//璁惧鍑哄巶鏃ユ湡
+                string HOutComDate = list[0].HOutComDate;        // 鈭� 	datetime   	//璁惧鍑哄巶鏃ユ湡
                 string HOutComNo = list[0].HOutComNo;            //  鈭� 	varchar(100)   	//璁惧鍑哄巶缂栧彿
                 int HDeptID = list[0].HDeptID;                 //    鈭�	int    		//浣跨敤閮ㄩ棬锛坓y_Department锛�
                 int HUseEmpID = list[0].HUseEmpID;               //鈭�	int		//浣跨敤璐熻矗浜猴紙gy_Employee锛�
                 int HRepairEmpID = list[0].HRepairEmpID;            //鈭�	int		//缁存姢璐熻矗浜猴紙gy_Employee锛�
                 string HAddress = list[0].HAddress;             // 鈭� 	varchar(500)      	//瀹夎鍦扮偣
-                DateTime HSetupDate = list[0].HSetupDate;         //鈭�	datetime		//瀹夎鏃ユ湡
-                DateTime HStartupDate = list[0].HStartupDate;       //鈭�	datetime		//杩愯寮�濮嬫棩鏈� 
+                string HSetupDate = list[0].HSetupDate;         //鈭�	datetime		//瀹夎鏃ユ湡
+                string HStartupDate = list[0].HStartupDate;       //鈭�	datetime		//杩愯寮�濮嬫棩鏈� 
                 string HStatus = list[0].HStatus;              //	鈭�	varchar(20)	//褰撳墠鐘舵�侊紙绌洪棽銆佸崰鐢ㄣ�佸姞宸ャ�佸叧鏈恒�佸紓甯稿仠鏈猴級
                 int HEquipFileTypeID = list[0].HEquipFileTypeID;        //鈭�	int		//璁惧绫诲埆锛圙y_EquipFileType)
                 string HProNum = list[0].HProNum;              //	鈭�	varchar(100)	//宸ョ▼缂栫爜
@@ -200,8 +350,19 @@
                 string HLogo = list[0].HLogo;                //鈭�		varchar(50)	//鍝佺墝
                 int HSellSupID = list[0].HSellSupID;              // 鈭�	int		//渚涘簲鍟�(Gy_Supplier)
                 int HMakeSupID = list[0].HMakeSupID;              // int		//鍒堕�犲晢 (Gy_Supplier) 
-                string HMaker = msg4;
-                string HMakeDate = DateTime.Now.Date.ToString();
+            
+                string HMacAddress = list[0].HMacAddress;   // varchar(50) //鏁伴噰鐗╃悊鍦板潃
+                string HIPAddress = list[0].HIPAddress;   // varchar(50) //鏁伴噰IP鍦板潃
+                string HLinkNETMode = list[0].HLinkNETMode;   // varchar(50) //鑱旂綉鏂瑰紡
+                string HCollectMode = list[0].HCollectMode;   // varchar(50) //閲囬泦鏂瑰紡
+                string HCollectClass = list[0].HCollectClass;   // varchar(50) //閲囬泦绫诲瀷
+                string HMainSourceFlag = list[0].HMainSourceFlag;             //varchar(10) //鏄惁涓荤敓浜ц澶�(鍚︼紝鏄�)
+                int HMainSourceID = list[0].HMainSourceID;  //int //鎵�灞炰富鐢熶骇璁惧锛圙y_EquipFileBillMain锛�
+                string HMaker = msg5;
+                //string HMakeDate = DateTime.Now.Date.ToString();
+                int HEquipDotCheckRuleInterID = list[0].HEquipDotCheckRuleInterID;
+                int HEquipMaintainRuleInterID = list[0].HEquipMaintainRuleInterID;
+                int HSourceID = list[0].HSourceID;
 
                 if (!DBUtility.ClsPub.AllowNumber(HEquipFileNumber))
                 {
@@ -211,23 +372,76 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+                DataSet DS = oCN.RunProcReturn("Select * from Gy_EquipFileBillMain Where  HEquipFileNumber='" + HEquipFileNumber + "' and HInterID<>" + HInterID, "Gy_EquipFileBillMain", ref Pub_Class.ClsPub.sExeReturnInfo);
+
+                if (DS.Tables[0].Rows.Count != 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "浠g爜閲嶅锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
                 //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
                 oCN.BeginTran();
+                //淇濆瓨鍓嶆帶鍒�=========================================
+                string HBillNote = "";
+                ds = oCN.RunProcReturn("Exec h_p_Gy_EquipFileBillMain_BeforeSaveCtrl " + HInterID.ToString() + ", '" + hbillno + "','" + HBillNote + "',1 ", "h_p_Gy_EquipFileBillMain_BeforeSaveCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨澶辫触!鍘熷洜:淇濆瓨鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HBackRemark"].ToString(); ;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //=========================================================
                 //涓昏〃
                 oCN.RunProc("Insert into Gy_EquipFileBillMain " +
-                   " (hbillno,HEquipFileNumber,HEquipFileNo,HName,HModel,HModel2,HMaterID,HUnitID,HOutComDate" +
+                   " (HInterID,hbillno,HEquipFileNumber,HEquipFileNo,HName,HModel,HModel2,HMaterID,HUnitID,HOutComDate" +
                    ",HOutComNo,HDeptID,HUseEmpID,HRepairEmpID,HAddress,HSetupDate,HStartupDate,HStatus," +
-                   "HEquipFileTypeID,HProNum,HBarCode,HWorkArea,HLogo,HSellSupID,HMakeSupID,hbilltype,HDate,HYear) " +
-                   " Values('" + hbillno + "','" + HEquipFileNumber + "','" + HEquipFileNo + "','" + HName + "','" + HModel + "','" + HModel2 + "'," + HMaterID + "," + HUnitID +
+                    "HEquipFileTypeID,HProNum,HBarCode,HWorkArea,HLogo,HSellSupID,HMakeSupID,hbilltype,HDate,HYear,HMaker,HMakeDate,HEquipMaintainRuleInterID,HEquipDotCheckRuleInterID," +
+                    "HSourceID,HMainSourceFlag,HMacAddress,HMainSourceID,HIPAddress,HLinkNETMode,HCollectMode,HCollectClass) " +
+                   " Values("+ HInterID+",'" + hbillno + "','" + HEquipFileNumber + "','" + HEquipFileNo + "','" + HName + "','" + HModel + "','" + HModel2 + "'," + HMaterID + "," + HUnitID +
                    ",'" + HOutComDate + "','" + HOutComNo + "'," + HDeptID + "," + HUseEmpID + "," + HRepairEmpID + ",'" + HAddress +
                    "','" + HSetupDate + "','" + HStartupDate + "','" + HStatus + "'," + HEquipFileTypeID + ",'" + HProNum +
-                   "','" + HBarCode + "','" + HWorkArea + "','" + HLogo + "'," + HSellSupID + "," + HMakeSupID +",'3308','" + HDate +"','"+ HYear+
-                   "')", ref DBUtility.ClsPub.sExeReturnInfo);
+                   "','" + HBarCode + "','" + HWorkArea + "','" + HLogo + "'," + HSellSupID + "," + HMakeSupID + ",'3308','" + HDate + "','" + HYear + "','" + HMaker + "',GETDATE(),'" + HEquipMaintainRuleInterID + "','" + HEquipDotCheckRuleInterID +"'" +
+                   "," + HSourceID + ",'" + HMainSourceFlag + "','" + HMacAddress + "','" + HMainSourceID + "','" + HIPAddress + "','" + HLinkNETMode + "','" + HCollectMode + "','" + HCollectClass + "')", ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼涓婄骇涓洪潪鏈骇浠g爜
+                objJsonResult = AddBillSub(msg3, msg4, HInterID, hbillno, 1);
+
+                //淇濆瓨鍚庢帶鍒�=========================================
+                ds = oCN.RunProcReturn("Exec h_p_Gy_EquipFileBillMain_AfterSaveCtrl " + HInterID.ToString() + ", '" + hbillno + "','" + HBillNote + "',1 ", "h_p_Gy_EquipFileBillMain_AfterSaveCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨澶辫触!鍘熷洜:淇濆瓨鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {                  
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HBackRemark"].ToString(); ;
+                    objJsonResult.data = null;
+                    oCN.RollBack();
+                    return objJsonResult;                    
+                }
+                //=========================================================
+
                 oCN.Commit();
-                objJsonResult.code = "1";
-                objJsonResult.count = 1;
-                objJsonResult.Message = "鏂板鎴愬姛锛�";
                 //objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -244,7 +458,7 @@
         #endregion
 
         #region 璁惧妗f淇敼淇濆瓨
-        
+
         [Route("Gy_EquipFileMain/EditBill")]
         [HttpPost]
         public object EditBill([FromBody] JObject oMain)
@@ -255,9 +469,19 @@
                 var _value = oMain["oMain"].ToString();
                 string msg1 = _value.ToString();
                 string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-                string msg2 = sArray[0].ToString();
-                string msg3 = sArray[1].ToString();
-                string msg4 = sArray[2].ToString();
+                string msg2 = sArray[0].ToString(); //涓昏〃鏁版嵁
+                string msg3 = sArray[1].ToString(); //瀛愯〃1
+                string msg4 = sArray[2].ToString(); //瀛愯〃2
+                string msg5 = sArray[3].ToString(); //鐢ㄦ埛
+
+                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Edit", 1, false, msg5))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
 
                 //鍙嶅簭鍒楀寲
                 msg2 = "[" + msg2.ToString() + "]";
@@ -271,14 +495,14 @@
                 string HModel2 = list[0].HModel2;              //    鈭�	varchar(100)    	//璁惧鍨嬪彿 
                 int HMaterID = list[0].HMaterID;                //   鈭�	int    		//瀵瑰簲鐗╂枡 
                 int HUnitID = list[0].HUnitID;                 //    鈭�	int    		//鍗曚綅
-                DateTime HOutComDate = list[0].HOutComDate;        // 鈭� 	datetime   	//璁惧鍑哄巶鏃ユ湡
+                string HOutComDate = list[0].HOutComDate;        // 鈭� 	datetime   	//璁惧鍑哄巶鏃ユ湡
                 string HOutComNo = list[0].HOutComNo;            //  鈭� 	varchar(100)   	//璁惧鍑哄巶缂栧彿
                 int HDeptID = list[0].HDeptID;                 //    鈭�	int    		//浣跨敤閮ㄩ棬锛坓y_Department锛�
                 int HUseEmpID = list[0].HUseEmpID;               //鈭�	int		//浣跨敤璐熻矗浜猴紙gy_Employee锛�
                 int HRepairEmpID = list[0].HRepairEmpID;            //鈭�	int		//缁存姢璐熻矗浜猴紙gy_Employee锛�
                 string HAddress = list[0].HAddress;             // 鈭� 	varchar(500)      	//瀹夎鍦扮偣
-                DateTime HSetupDate = list[0].HSetupDate;         //鈭�	datetime		//瀹夎鏃ユ湡
-                DateTime HStartupDate = list[0].HStartupDate;       //鈭�	datetime		//杩愯寮�濮嬫棩鏈� 
+                string HSetupDate = list[0].HSetupDate;         //鈭�	datetime		//瀹夎鏃ユ湡
+                string HStartupDate = list[0].HStartupDate;       //鈭�	datetime		//杩愯寮�濮嬫棩鏈� 
                 string HStatus = list[0].HStatus;              //	鈭�	varchar(20)	//褰撳墠鐘舵�侊紙绌洪棽銆佸崰鐢ㄣ�佸姞宸ャ�佸叧鏈恒�佸紓甯稿仠鏈猴級
                 int HEquipFileTypeID = list[0].HEquipFileTypeID;        //鈭�	int		//璁惧绫诲埆锛圙y_EquipFileType)
                 string HProNum = list[0].HProNum;              //	鈭�	varchar(100)	//宸ョ▼缂栫爜
@@ -287,8 +511,19 @@
                 string HLogo = list[0].HLogo;                //鈭�		varchar(50)	//鍝佺墝
                 int HSellSupID = list[0].HSellSupID;              // 鈭�	int		//渚涘簲鍟�(Gy_Supplier)
                 int HMakeSupID = list[0].HMakeSupID;              // int		//鍒堕�犲晢 (Gy_Supplier)
-                string HUpDater = msg4;
-                string HUpDateDate = DateTime.Now.Date.ToString();
+                string HMainSourceFlag = list[0].HMainSourceFlag;             //varchar(10) //鏄惁涓荤敓浜ц澶�(鍚︼紝鏄�)
+                string HMacAddress = list[0].HMacAddress;   // varchar(50) //鏁伴噰鐗╃悊鍦板潃
+                string HIPAddress = list[0].HIPAddress;   // varchar(50) //鏁伴噰IP鍦板潃
+                string HLinkNETMode = list[0].HLinkNETMode;   // varchar(50) //鑱旂綉鏂瑰紡
+                string HCollectMode = list[0].HCollectMode;   // varchar(50) //閲囬泦鏂瑰紡
+                string HCollectClass = list[0].HCollectClass;   // varchar(50) //閲囬泦绫诲瀷
+                int HMainSourceID = list[0].HMainSourceID;  //int //鎵�灞炰富鐢熶骇璁惧锛圙y_EquipFileBillMain锛�
+                string HUpDater = msg5;
+                //string HUpDateDate = DateTime.Now.Date.ToString();
+                int HEquipDotCheckRuleInterID = list[0].HEquipDotCheckRuleInterID;
+                int HEquipMaintainRuleInterID = list[0].HEquipMaintainRuleInterID;
+                int HSourceID = list[0].HSourceID;
+
 
                 if (!DBUtility.ClsPub.AllowNumber(HEquipFileNumber))
                 {
@@ -316,38 +551,46 @@
                 //涓昏〃
                 oCN.RunProc("Update Gy_EquipFileBillMain set " +
                     " HEquipFileNumber='" + HEquipFileNumber + "'" +
-                    " HEquipFileNo='" + HEquipFileNo + "'" +
-                    " HName='" + HName + "'" +
-                    " HModel='" + HModel + "'" +
-                    " HModel2='" + HModel2 + "'" +
-                    " HMaterID=" + HMaterID + 
-                    " HUnitID=" + HUnitID + 
-                    " HOutComDate='" + HOutComDate + "'" +
-                    " HOutComNo='" + HOutComNo + "'" +
-                    " HDeptID=" + HDeptID + 
-                    " HUseEmpID=" + HUseEmpID +
-                    " HRepairEmpID=" + HRepairEmpID +
-                    " HAddress='" + HAddress + "'" +
-                    " HSetupDate='" + HSetupDate + "'" +
-                    " HStartupDate='" + HStartupDate + "'" +
-                    " HStatus='" + HStatus + "'" +
-                    " HEquipFileTypeID=" + HEquipFileTypeID + 
+                    ",HEquipFileNo='" + HEquipFileNo + "'" +
+                    ",HName='" + HName + "'" +
+                    ",HModel='" + HModel + "'" +
+                    ",HModel2='" + HModel2 + "'" +
+                    ",HMaterID=" + HMaterID +
+                    ",HUnitID=" + HUnitID +
+                    ",HOutComDate='" + HOutComDate + "'" +
+                    ",HOutComNo='" + HOutComNo + "'" +
+                    ",HDeptID=" + HDeptID +
+                    ",HUseEmpID=" + HUseEmpID +
+                    ",HRepairEmpID=" + HRepairEmpID +
+                    ",HAddress='" + HAddress + "'" +
+                    ",HSetupDate='" + HSetupDate + "'" +
+                    ",HStartupDate='" + HStartupDate + "'" +
+                    ",HStatus='" + HStatus + "'" +
+                    ",HEquipFileTypeID=" + HEquipFileTypeID +
                     ",HProNum='" + HProNum + "'" +
                     ",HBarCode='" + HBarCode + "'" +
                     ",HWorkArea='" + HWorkArea + "'" +
-                    ",HLogo=" + HLogo +
-                    ",HSellSupID=" + HSellSupID + 
+                    ",HLogo='" + HLogo + "'" +
+                    ",HSellSupID=" + HSellSupID +
                     ",HMakeSupID= " + HMakeSupID +
-                    ",HUpDater= " + HUpDater +
-                    ",HUpDateDate= " + HUpDateDate +
+                    ",HUpDater= '" + HUpDater + "'" +
+                    ",HUpDateDate= GETDATE()" +
+                    ",HEquipDotCheckRuleInterID='" + HEquipDotCheckRuleInterID + "'" +
+                    ",HEquipMaintainRuleInterID='" + HEquipMaintainRuleInterID + "'" +
+                    ",HSourceID='" + HSourceID + "'" +
+                    ",HMainSourceFlag= '" + HMainSourceFlag + "'" +
+                    ",HMacAddress= '" + HMacAddress + "'" +
+                    ",HMainSourceID = '" + HMainSourceID + "'" +
+                    ",HIPAddress='" + HIPAddress + "'" +
+                    ",HLinkNETMode='" + HLinkNETMode + "'" +
+                    ",HCollectMode='" + HCollectMode + "'" +
+                    ",HCollectClass='" + HCollectClass + "'" +
                     " Where HInterID=" + HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼瀛愰」鐩唬鐮�
                 //oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_RepairCheck,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
                 //
+                objJsonResult = AddBillSub(msg3, msg4, HInterID, list[0].HBillNo, 2);
                 oCN.Commit();
-                objJsonResult.code = "1";
-                objJsonResult.count = 1;
-                objJsonResult.Message = "淇敼鎴愬姛锛�";
                 //objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -362,5 +605,1362 @@
             }
         }
         #endregion
+
+        #region 璁惧妗f淇濆瓨瀛愯〃鏁版嵁
+        /// <summary>
+        /// 瀛愯〃鏁版嵁鏂板鎴栬�呯紪杈�
+        /// </summary>
+        /// <param name="msg3"></param>
+        /// <param name="msg4"></param>
+        /// <param name="HInterID"></param>
+        /// <param name="HBillNo"></param>
+        /// <param name="OperationType">1涓烘坊鍔�2涓虹紪杈�</param>
+        /// <returns></returns>
+        public json AddBillSub(string msg3, string msg4, long HInterID, string HBillNo, int OperationType)
+        {
+                List<ClsGy_EquipFileBillSub_MaintainRule> MaintainRuleColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_EquipFileBillSub_MaintainRule>>(msg3);
+
+                List<ClsGy_EquipFileBillSub_DotCheckRule> DotCheckRuleColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_EquipFileBillSub_DotCheckRule>>(msg4);
+                if (OperationType == 2)
+                {
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("delete from Gy_EquipFileBillSub_MaintainRule where HInterID = " + HInterID );
+                    oCN.RunProc("delete from Gy_EquipFileBillSub_DotCheckRule where HInterID = " + HInterID );
+                }
+                int i = 0;
+                //淇濆瓨淇濆吇瑙勭▼
+                foreach (ClsGy_EquipFileBillSub_MaintainRule oSub in MaintainRuleColl)
+                {
+                    i++;
+                    if (oSub.HMaintainRuleID <= 0 || oSub.HMaintainRuleID == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绗�" + i + "琛�,淇濆吇瑙勭▼涓嶈兘涓虹┖";
+                        objJsonResult.data = null;
+                        throw new Exception("淇濆吇瑙勭▼涓嶈兘涓虹┖");
+                }
+                    DataSet Cs;
+                    Int64 NewHEntryID = 1;
+                    Int64 newHFlag = 1;
+                    Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Gy_EquipFileBillSub_MaintainRule", "Gy_EquipFileBillSub_MaintainRule");
+                    if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
+                    {
+                        NewHEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString());
+                        NewHEntryID += 1;
+                    }
+                    if(oSub.HStdFlag == true)
+                    {
+                        newHFlag = 1;
+                    }
+                    else
+                    {
+                        newHFlag = 0;
+                    }
+                    oCN.RunProc($@"Insert into Gy_EquipFileBillSub_MaintainRule 
+                (HInterID,HBillNo_bak,HEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,
+                 HMaintainRuleID,HStdFlag
+	            ) 
+                 values({HInterID},'{HBillNo}',{NewHEntryID},'{oSub.HRemark}',{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HRelationQty},{oSub.HRelationMoney}
+                ,{oSub.HMaintainRuleID},{newHFlag})");
+                }
+                i = 0;
+                //淇濆瓨鐐规瑙勭▼
+                foreach (ClsGy_EquipFileBillSub_DotCheckRule oSub in DotCheckRuleColl)
+                {
+                    i++;
+                    if (oSub.HDotCheckRuleID <= 0 || oSub.HDotCheckRuleID == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绗�" + i + "琛�,鐐规瑙勭▼涓嶈兘涓虹┖";
+                        objJsonResult.data = null;
+                        throw new Exception("鐐规瑙勭▼涓嶈兘涓虹┖");
+                    }
+                    DataSet Cs;
+                    Int64 NewHEntryID = 1;
+                    Int64 newHFlag = 1;
+                    Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Gy_EquipFileBillSub_DotCheckRule", "Gy_EquipFileBillSub_DotCheckRule");
+                    if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
+                    {
+                        NewHEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString());
+                        NewHEntryID += 1;
+                    }
+                    if (oSub.HStdFlag == true)
+                    {
+                        newHFlag = 1;
+                    }
+                    else
+                    {
+                        newHFlag = 0;
+                    }
+                    oCN.RunProc($@"Insert into Gy_EquipFileBillSub_DotCheckRule 
+                (HInterID,HBillNo_bak,HEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,
+                 HDotCheckRuleID,HStdFlag
+	            ) 
+                 values({HInterID},'{HBillNo}',{NewHEntryID},'{oSub.HRemark}',{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HRelationQty},{oSub.HRelationMoney}
+                ,{oSub.HDotCheckRuleID},{newHFlag})");
+                }
+                //淇敼涓婄骇涓洪潪鏈骇浠g爜
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                //objJsonResult.data = null;
+                return objJsonResult;
+        }
+        #endregion
+
+        #region[璁惧灞ュ巻(鐐瑰嚮涓昏〃甯﹀嚭浠庤〃)]
+        [Route("Gy_EquipFileMain/Sb_EquipFileBillResumeDate")]
+        [HttpGet]
+        public object Sb_EquipFileBillResumeDate(string HInterID)
+        {
+
+            DataTable ds, ds1,ds2;
+            long HInterID1 = long.Parse(HInterID);
+            List<object> list = new List<object>();
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                //鑾峰彇閰嶄欢椤圭洰缂栬緫鏁版嵁
+                string sql1 = string.Format($"exec h_p_Gy_EquipRecord {HInterID1}");
+                ds = oCN.RunProcReturn(sql1, "h_p_Gy_EquipRecord").Tables[0];
+                ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_EquipRecord").Tables[1];
+                ds2 = oCN.RunProcReturn(sql1, "h_p_Gy_EquipRecord").Tables[2];
+
+                list.Add(ds);//鏃ュ父璁板綍
+                list.Add(ds1);//缁翠慨璁板綍
+                list.Add(ds2);//閰嶄欢鏇存崲娓呭崟
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                objJsonResult.list = list;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+            }
+            return objJsonResult;
+        }
+        #endregion
+
+        #region[鍣ㄥ叿灞ュ巻(鐐瑰嚮涓昏〃甯﹀嚭浠庤〃)]
+        [Route("Gy_EquipFileMain/Gy_MouldFileBillResumeDate")]
+        [HttpGet]
+        public object Gy_MouldFileBillResumeDate(string HInterID)
+        {
+
+            DataTable ds, ds1, ds2, ds3;
+
+            long HInterID1 = long.Parse(HInterID);
+            List<object> list = new List<object>();
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                //鑾峰彇閰嶄欢椤圭洰缂栬緫鏁版嵁
+                string sql1 = string.Format($"exec h_p_Gy_MouldRecord {HInterID1}");
+                ds = oCN.RunProcReturn(sql1, "h_p_Gy_MouldRecord").Tables[0];
+                ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_MouldRecord").Tables[1];
+                ds2 = oCN.RunProcReturn(sql1, "h_p_Gy_MouldRecord").Tables[2];
+                ds3 = oCN.RunProcReturn(sql1, "h_p_Gy_MouldRecord").Tables[3];
+
+                list.Add(ds);//鍑哄叆搴撹褰�
+                list.Add(ds1);//鍣ㄥ叿鑰楃敤璁板綍
+                list.Add(ds2);//鏃ュ父璁板綍
+                list.Add(ds3);//缁翠慨璁板綍
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                objJsonResult.list = list;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+            }
+            return objJsonResult;
+        }
+        #endregion
+
+        #region[鏍规嵁鏉$爜杩斿洖璁惧淇℃伅]
+        [Route("Gy_EquipFileMain/Gy_MouldFileBillBarCodeInfo")]
+        [HttpGet]
+        public object Gy_MouldFileBillBarCodeInfo(string HBarCode)
+        { 
+            DataTable ds; 
+            List<object> list = new List<object>();
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                //鑾峰彇閰嶄欢椤圭洰缂栬緫鏁版嵁
+                string sql1 = string.Format($"exec h_p_Gy_EquipFileGetInfoByBarCode {HBarCode}");
+                ds = oCN.RunProcReturn(sql1, "h_p_Gy_EquipFileGetInfoByBarCode").Tables[0]; 
+
+                list.Add(ds);//璁惧妗f 
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鑾峰彇璁惧淇℃伅鎴愬姛锛�";
+                objJsonResult.list = list;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛佽妫�鏌ユ潯褰㈢爜锛�" + e.ToString();
+                objJsonResult.data = null;
+            }
+            return objJsonResult;
+        }
+        #endregion
+
+        #region 璁惧妗f瀹℃牳/鍙嶅鏍稿姛鑳�
+        [Route("Gy_EquipFileBill/CheckGy_EquipFileBill")]
+        [HttpGet]
+        public object CheckGy_EquipFileBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileBill_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    if (!BillOld.CheckBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    if (BillOld.AbandonCheck(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 璁惧妗f鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("Gy_EquipFileBill/CloseGy_EquipFileBill")]
+        [HttpGet]
+        public object CloseGy_EquipFileBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileBill_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    if (!BillOld.CloseBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    if (!BillOld.CancelClose(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 璁惧妗f鍒楄〃 鏍戠姸鍥� 璁惧鍒嗙被鏌ヨ
+        public class TreeModel
+        {
+            public string id { get; set; }
+            public string title { get; set; }
+            public List<TreeModel> children = new List<TreeModel>();
+        }
+        [Route("Gy_EquipFileMain/TreeGetList")]
+        [HttpGet]
+        public object TreeGetList(string sWhere, string user)
+        {
+            try
+            {
+
+                ds = oCN.RunProcReturn("select HItemID,HNumber,HName  from Gy_EquipFileType", "Gy_EquipFileType");
+
+                List<TreeModel> treeModels = new List<TreeModel>();
+                TreeModel first = new TreeModel();
+                first.id = "0";
+                first.title = "璁惧鍒嗙被璁剧疆";
+                treeModels.Add(first);
+
+                foreach (DataRow row in ds.Tables[0].Rows)
+                {
+                    var strLen = row["hitemid"].ToString().Split('.');
+                    if (strLen.Length == 1)
+                    {
+                        TreeModel tree = new TreeModel();
+                        tree.id = row["HItemID"].ToString();
+                        tree.title = row["HName"].ToString();
+                        treeModels[0].children.Add(tree);
+                    }
+                }
+                digui(ds.Tables[0], treeModels[0].children, 2);
+
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels);
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        /// <summary>
+        /// 閫掑綊鍑芥暟
+        /// </summary>
+        public void digui(DataTable dt, List<TreeModel> tree, int num)
+        {
+            for (int m = 0; m < tree.Count; m++)
+            {
+                tree[m].children = new List<TreeModel>();
+                for (int i = 0; i < dt.Rows.Count; i++)//绗竴娆″惊鐜紝寰楀埌鎵�鏈夋牴鑺傜偣鐨勫瓙闆�
+                {
+                    var strLen = dt.Rows[i]["HNumber"].ToString().Split('.');
+                    if (strLen.Length == num && dt.Rows[i]["HNumber"].ToString().Contains(tree[m].id + "."))
+                    {
+                        TreeModel tbjson = new TreeModel();
+                        tbjson.id = dt.Rows[i]["HItemID"].ToString();
+                        tbjson.title = dt.Rows[i]["HName"].ToString();
+                        tree[m].children.Add(tbjson);
+                    }
+                }
+                var strLens = tree[m].id.Split('.');
+                for (int i = 0; i < tree[m].children.Count; i++)
+                {
+                    digui(dt, tree[m].children, strLens.Length + 2);//鍐嶆鐢ㄥ瓙闆嗗幓寰幆锛屾嬁鍑哄瓙闆嗙殑瀛愰泦
+                }
+            }
+
+        }
+        #endregion
+
+        #region 璁惧杩愯鐘舵�佹姤琛�
+
+        [Route("SB_EquipRunningStatus/Report")]
+        [HttpGet]
+        public object Report(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileList", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "娌℃湁鏌ョ湅鏉冮檺";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Sb_EquipRunningStatusReport " + sWhere + " order by 鎵�灞炴棩鏈� desc", "h_v_Sb_EquipRunningStatusReport");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Sb_EquipRunningStatusReport where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鎵�灞炴棩鏈� desc";
+                    ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipRunningStatusReport");
+                }
+
+                //娣诲姞鍒楀悕
+                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;
+
+                //if (ds.Tables[0].Rows.Count != 0 && ds != null)
+                //{
+                   
+                //}
+                //else
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳暟鎹�";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 璁惧杩愯鐘舵�佹姤琛� 鏍戠姸鍥� 閮ㄩ棬鍒嗙被鏌ヨ
+        public class TreeModel_Report
+        {
+            public string id { get; set; }
+            public string title { get; set; }
+            public string type { get; set; }
+            public List<TreeModel_Report> children = new List<TreeModel_Report>();
+        }
+        [Route("SB_EquipRunningStatus/ReportTreeGetList")]
+        [HttpGet]
+        public object ReportTreeGetList(string sWhere, string user)
+        {
+            try
+            {
+
+                ds = oCN.RunProcReturn("select HItemID,HNumber,HName  from Gy_Department", "Gy_Department");
+
+                List<TreeModel_Report> treeModels = new List<TreeModel_Report>();
+                TreeModel_Report first = new TreeModel_Report();
+
+                DataSet Ds;
+                string HCampanyName = "";
+                Ds = oCN.RunProcReturn("select HValue from Xt_SystemParameter where HCaption = '瀹㈡埛鍚嶇О'", "Xt_SystemParameter");
+                if (Ds.Tables[0].Rows.Count != 0 && Ds != null)
+                {
+                    HCampanyName = Ds.Tables[0].Rows[0]["HValue"].ToString();
+                }
+               
+                first.id = "0";
+                first.title = HCampanyName;
+                treeModels.Add(first);
+
+                foreach (DataRow row in ds.Tables[0].Rows)
+                {
+                    var strLen = row["hitemid"].ToString().Split('.');
+                    if (strLen.Length == 1)
+                    {
+                        TreeModel_Report tree = new TreeModel_Report();
+                        tree.id = row["HItemID"].ToString();
+                        tree.title = row["HName"].ToString();
+                        tree.type = "Department";
+                        treeModels[0].children.Add(tree);
+                    }
+                }                
+                getWorkCenter_Level2(ds.Tables[0], treeModels[0].children);
+
+
+                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 getWorkCenter_Level2(DataTable dt, List<TreeModel_Report> tree)
+        {
+            for (int i = 0;i < dt.Rows.Count;i++)
+            {
+                var HDeptID = dt.Rows[i]["HItemID"].ToString();
+                ds = oCN.RunProcReturn("select distinct HItemID,HNumber,HName from Gy_WorkCenter where HDeptID = " + HDeptID, "Gy_WorkCenter");
+                if (ds.Tables[0].Rows.Count != 0 && ds != null)
+                {
+                    for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
+                    {
+                        TreeModel_Report tbjson = new TreeModel_Report();
+                        tbjson.id = ds.Tables[0].Rows[j]["HItemID"].ToString();
+                        tbjson.title = ds.Tables[0].Rows[j]["HName"].ToString();
+                        tbjson.type = "WorkCenter";
+                        tree[i].children.Add(tbjson);
+                    }
+                }
+                //digui_Report(ds.Tables[0], tree[i].children, 2);
+            }
+            
+        }
+
+        /// <summary>
+        /// 閫掑綊鍑芥暟
+        /// </summary>
+        public void digui_Report(DataTable dt, List<TreeModel_Report> tree, int num)
+        {
+            for (int m = 0; m < tree.Count; m++)
+            {
+                tree[m].children = new List<TreeModel_Report>();
+                for (int i = 0; i < dt.Rows.Count; i++)//绗竴娆″惊鐜紝寰楀埌鎵�鏈夋牴鑺傜偣鐨勫瓙闆�
+                {
+                    var HWorkCenterNumber = dt.Rows[i]["HNumber"].ToString();
+                    DataSet Ds;
+                    Ds = oCN.RunProcReturn("select distinct HItemID,HNumber,HName from Gy_WorkCenter where HNumber like '" + HWorkCenterNumber + "%'", "Gy_WorkCenter");
+
+                    if (Ds.Tables[0].Rows.Count != 0 && Ds != null)
+                    {
+                        for (int j = 0;j < Ds.Tables[0].Rows.Count;j++)
+                        {
+                            var strLen = Ds.Tables[0].Rows[j]["HNumber"].ToString().Split('.');
+                            if (strLen.Length == num && Ds.Tables[0].Rows[j]["HNumber"].ToString().Contains(tree[m].id + "."))
+                            {
+                                TreeModel_Report tbjson = new TreeModel_Report();
+                                tbjson.id = Ds.Tables[0].Rows[j]["HItemID"].ToString();
+                                tbjson.title = Ds.Tables[0].Rows[j]["HName"].ToString();
+                                tbjson.type = "WorkCenter";
+                                tree[m].children.Add(tbjson);
+                            }
+                        }                        
+                    }                   
+                }
+                var strLens = tree[m].id.Split('.');
+                for (int i = 0; i < tree[m].children.Count; i++)
+                {
+                    digui_Report(dt, tree[m].children, strLens.Length + 2);//鍐嶆鐢ㄥ瓙闆嗗幓寰幆锛屾嬁鍑哄瓙闆嗙殑瀛愰泦
+                }
+            }
+
+        }
+        #endregion
+
+        #region 璁惧PDA妯″潡 鎵爜       
+        [Route("Gy_EquipFileBill/txtHBarCode_KeyDown")]
+        [HttpGet]
+        public object txtHBarCode_KeyDown(string HBarCode, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                if (HBarCode == null || HBarCode.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏉$爜淇℃伅涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    string sql = "select * from h_v_Gy_EquipFileBill_KeyDown_PDA where 鏉″舰鐮� = '" + HBarCode + "'";
+                    ds = oCN.RunProcReturn(sql, "锘縣_v_Gy_EquipFileBill_KeyDown_PDA");
+                }
+
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    //娣诲姞鍒楀悕
+                    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;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "璁惧鏉$爜锛�" + HBarCode + " ,娌℃湁鍒涘缓姝よ澶囨。妗�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+               
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 璁惧灞ュ巻鍒楄〃
+
+        [Route("Gy_EquipFileMain/GetResumeList")]
+        [HttpGet]
+        public object GetResumeList(string HInterID, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鏌ョ湅鏉冮檺";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鏇存敼涓哄瓨鍌ㄨ繃绋嬫墽琛�
+                //ds = oCN.RunProcReturn($@"select a.HInterID,a.HDate '鏃ユ湡',a.HBillType,x.HName 鍗曟嵁绫诲瀷,a.HBillNo as '鍗曟嵁鍙�',
+                //    CASE WHEN a.HBillStatus <= 1 THEN '鍒涘缓' WHEN a.HBillStatus = 2 THEN '宸插鏍�' WHEN a.HBillStatus = 3 AND 
+                //    a.HCloseType = 0 THEN '鑷姩鍏抽棴' WHEN a.HBillStatus = 3 AND 
+                //    a.HCloseType = 1 THEN '鎵嬪姩鍏抽棴' WHEN a.HBillStatus = 4 THEN '宸蹭綔搴�' ELSE '鍏跺畠鐘舵��' END AS 鍗曟嵁鐘舵��,
+                //    a.HMaker AS 鍒跺崟浜�, a.HMakeDate AS 鍒跺崟鏃ユ湡,a.HChecker AS 瀹℃牳浜�, a.HCheckDate AS 瀹℃牳鏃ユ湡, a.HUpDater AS 淇敼浜�, a.HUpDateDate AS 淇敼鏃ユ湡, 
+                //    a.HCloseMan AS 鍏抽棴浜�, a.HCloseDate AS 鍏抽棴鏃ユ湡, a.HDeleteMan AS 浣滃簾浜�, a.HDeleteDate AS 浣滃簾鏃ユ湡
+                //    from (
+                //    select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType  from Gy_EquipFileBillMain where HInterID = {HInterID} UNION ALL 
+                //    select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sb_EquipStockInCheckBillMain where HEquipID = {HInterID} UNION ALL
+                //    select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sb_EquipDotCheckBillMain where HEquipID = {HInterID} UNION ALL
+                //    select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sb_EquipMaintainBillMain where HEquipID = {HInterID} UNION ALL
+                //    select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sb_EquipRepairWorkBillMain where HEquipID = {HInterID} UNION ALL
+                //    select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sb_EquipConkBookBillMain where HEquipID = {HInterID}
+                //    )as a,Xt_BillType as x
+                //    where a.HBillType = x.HNumber
+                //    ORDER BY '鏃ユ湡' ASC;", "h_v_Gy_EquipFileMainList");
+
+                ds = oCN.RunProcReturn("exec h_p_Gy_EquipFileReport '" + HInterID + "'", "h_p_Gy_EquipFileReport");
+
+                //娣诲姞鍔ㄦ�佸垪淇℃伅
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 鍣ㄥ叿灞ュ巻鍒楄〃
+
+        [Route("Gy_MouldFileMain/GetMouldResumeList")]
+        [HttpGet]
+        public object GetMouldResumeList(string HInterID, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (!DBUtility.ClsPub.Security_Log("Gy_MouldFileList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鏌ョ湅鏉冮檺";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鏇存敼涓哄瓨鍌ㄨ繃绋嬫墽琛�
+                //ds = oCN.RunProcReturn($@"select a.HInterID,a.HDate '鏃ユ湡',a.HBillType,x.HName 鍗曟嵁绫诲瀷,a.HBillNo as '鍗曟嵁鍙�',
+                //CASE WHEN a.HBillStatus <= 1 THEN '鍒涘缓' WHEN a.HBillStatus = 2 THEN '宸插鏍�' WHEN a.HBillStatus = 3 AND 
+                //a.HCloseType = 0 THEN '鑷姩鍏抽棴' WHEN a.HBillStatus = 3 AND 
+                //a.HCloseType = 1 THEN '鎵嬪姩鍏抽棴' WHEN a.HBillStatus = 4 THEN '宸蹭綔搴�' ELSE '鍏跺畠鐘舵��' END AS 鍗曟嵁鐘舵��,
+                //a.HMaker AS 鍒跺崟浜�, a.HMakeDate AS 鍒跺崟鏃ユ湡,a.HChecker AS 瀹℃牳浜�, a.HCheckDate AS 瀹℃牳鏃ユ湡, a.HUpDater AS 淇敼浜�, a.HUpDateDate AS 淇敼鏃ユ湡, 
+                //a.HCloseMan AS 鍏抽棴浜�, a.HCloseDate AS 鍏抽棴鏃ユ湡, a.HDeleteMan AS 浣滃簾浜�, a.HDeleteDate AS 浣滃簾鏃ユ湡
+                //from (
+                //select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType  from Gy_MouldFileMain where HInterID = {HInterID} UNION ALL 
+                //select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_MouldDotCheckBillMain where HMouldID = {HInterID} UNION ALL
+                //select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_MouldMaintainBillMain where HMouldID = {HInterID} UNION ALL
+                //select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_MouldRepairWorkBillMain  where HMouldID = {HInterID} UNION ALL
+                //select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_MouldConkBookBillMain where HMouldID = {HInterID} UNION ALL
+                //select a.HInterID,a.HDate,a.HBillType,a.HBillNo,a.HBillStatus,a.HMaker,a.HMakeDate,a.HChecker,a.HCheckDate,a.HUpDater,a.HUpDateDate,a.HCloseMan,a.HCloseDate,a.HDeleteMan,a.HDeleteDate,a.HCloseType 
+                //from Sc_MouldStockBillMain as a,Sc_MouldStockBillSub as b 
+                //where  a.HInterID = b.HInterID and b.HMaterID = {HInterID} and HBillType in ('3801','3829','3826','3831','3827')
+                //)as a,Xt_BillType as x
+                //where a.HBillType = x.HNumber
+                //ORDER BY '鏃ユ湡' ASC;", "Gy_MouldFileResume");
+
+                ds = oCN.RunProcReturn("exec h_p_Gy_MouldFileReport '" + HInterID + "'", "h_p_Gy_MouldFileReport");
+
+                //娣诲姞鍔ㄦ�佸垪淇℃伅
+                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 璁惧妗f 鏂囦欢瀵煎叆淇濆瓨
+        #region 璁惧妗f 鏂囦欢涓婁紶
+        [Route("Gy_EquipFileMain/Gy_EquipFileMain_Excel")]
+        [HttpPost]
+        public object Gy_EquipFile_Excel()
+        {
+            try
+            {
+                //鑾峰彇鏂囦欢鍚嶇О
+                var file = HttpContext.Current.Request.Files[0];
+                //鑾峰彇鏂囦欢鐗╃悊璺緞
+                string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
+                //淇濆瓨鏂囦欢
+                file.SaveAs(ExcelPath);
+
+                NpoiHelper np = new NpoiHelper();
+                DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
+
+                //鍒犻櫎鏂囦欢
+                File.Delete(ExcelPath);
+
+                //鍒涘缓涓存椂琛�
+                DataTable tb2 = new DataTable("dt2");
+
+                //娣诲姞鍒楀悕
+                for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
+                {
+                    tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
+                }
+
+                //妯℃澘缂哄皯鍒� 浣嗛渶瑕佷粠鏁版嵁搴撲腑鏌ヨ鍑烘潵鏄剧ず鍦ㄩ〉闈㈢殑瀛楁
+                tb2.Columns.Add("HOrgID", typeof(Int32));//缁勭粐ID
+                tb2.Columns.Add("HMaterID", typeof(Int32));//鐗╂枡ID
+                tb2.Columns.Add("HEquipTypeID", typeof(Int32));//鍒嗙被ID
+                tb2.Columns.Add("HUnitID", typeof(Int32));//鍗曚綅ID
+                tb2.Columns.Add("HDeptID", typeof(Int32));//閮ㄩ棬ID
+                tb2.Columns.Add("HUseEmpID", typeof(Int32));//浣跨敤璐熻矗浜篒D
+                tb2.Columns.Add("HRepairEmpID", typeof(Int32));//缁存姢璐熻矗浜篒D
+                tb2.Columns.Add("HSupID", typeof(Int32));//渚涘簲鍟咺D
+                tb2.Columns.Add("HMadeSupID", typeof(Int32));//鍒堕�犲晢ID
+                //娣诲姞鏁版嵁
+                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
+                {
+                    DataRow row = tb2.NewRow();
+                    for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
+                    {
+                        row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
+                    }
+                    tb2.Rows.Add(row);
+                }
+
+
+                var error = "";
+
+                //鍒ゆ柇瀵煎叆鏂囦欢鍒楁槸鍚﹀畬鏁�
+                if (!tb2.Columns.Contains("缁勭粐浠g爜"))
+                    error += "娌℃湁鎵惧埌銆愮粍缁囦唬鐮併�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("缁勭粐鍚嶇О"))
+                    error += "娌℃湁鎵惧埌銆愮粍缁囧悕绉般�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("璁惧鍚嶇О"))
+                    error += "娌℃湁鎵惧埌銆愯澶囧悕绉般�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("璁惧缂栧彿"))
+                    error += "娌℃湁鎵惧埌銆愯澶囩紪鍙枫�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("璁惧鍒嗙被"))
+                    error += "娌℃湁鎵惧埌銆愯澶囧垎绫汇�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("璁惧瑙勬牸"))
+                    error += "娌℃湁鎵惧埌銆愯澶囪鏍笺�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("璁惧鍨嬪彿"))
+                    error += "娌℃湁鎵惧埌銆愯澶囧瀷鍙枫�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("瀵瑰簲ERP鐗╂枡浠g爜"))
+                    error += "娌℃湁鎵惧埌銆愬搴擡RP鐗╂枡浠g爜銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("瀵瑰簲ERP鐗╂枡"))
+                    error += "娌℃湁鎵惧埌銆愬搴擡RP鐗╂枡銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("璁¢噺鍗曚綅"))
+                    error += "娌℃湁鎵惧埌銆愯閲忓崟浣嶃�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("璁惧鍑哄巶鏃ユ湡"))
+                    error += "娌℃湁鎵惧埌銆愯澶囧嚭鍘傛棩鏈熴�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("璁惧鍑哄巶缂栧彿"))
+                    error += "娌℃湁鎵惧埌銆愯澶囧嚭鍘傜紪鍙枫�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("浣跨敤閮ㄩ棬"))
+                    error += "娌℃湁鎵惧埌銆愪娇鐢ㄩ儴闂ㄣ�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("浣跨敤璐熻矗浜�"))
+                    error += "娌℃湁鎵惧埌銆愪娇鐢ㄨ礋璐d汉銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("缁存姢璐熻矗浜�"))
+                    error += "娌℃湁鎵惧埌銆愮淮鎶よ礋璐d汉銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("瀹夎鍦扮偣"))
+                    error += "娌℃湁鎵惧埌銆愬畨瑁呭湴鐐广�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("瀹夎鏃ユ湡"))
+                    error += "娌℃湁鎵惧埌銆愬畨瑁呮棩鏈熴�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("杩愯寮�濮嬫棩鏈�"))
+                    error += "娌℃湁鎵惧埌銆愯繍琛屽紑濮嬫棩鏈熴�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸ョ▼缂栫爜"))
+                    error += "娌℃湁鎵惧埌銆愬伐绋嬬紪鐮併�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("鏉″舰鐮�"))
+                    error += "娌℃湁鎵惧埌銆愭潯褰㈢爜銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("浜у湴"))
+                    error += "娌℃湁鎵惧埌銆愪骇鍦般�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("鍝佺墝"))
+                    error += "娌℃湁鎵惧埌銆愬搧鐗屻�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("渚涘簲鍟�"))
+                    error += "娌℃湁鎵惧埌銆愪緵搴斿晢銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("鍒堕�犲晢"))
+                    error += "娌℃湁鎵惧埌銆愬埗閫犲晢銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("澶囨敞"))
+                    error += "娌℃湁鎵惧埌銆愬娉ㄣ�戠殑鏍囬,";
+
+
+                if (error.Length > 0)
+                {
+                    objJsonResult.code = CodeConstant.FAIL;
+                    objJsonResult.count = CountConstant.FAIL;
+                    objJsonResult.Message = $"Excel妯℃澘瀛樺湪閿欒,{error}\r\n";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                for (int i = 0; i <= tb2.Rows.Count - 1; i++)
+                {
+                    string HEquipName = "";
+                    string HEquipNo = "";
+                    string HORGNumber = "";
+                    string HORGName = "";
+                    string HMaterNumber = "";
+                    string HMaterName = "";
+                    string HUnitName = "";
+                    string HDeptName = "";
+                    string HUseEmpName = "";
+                    string HRepairEmpName = "";
+                    string HSupName = "";
+                    string HMadeSupName = "";
+                    string HEquipTypeName = "";
+
+                    HEquipName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["璁惧鍚嶇О"].ToString());
+                    HEquipNo = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["璁惧缂栧彿"].ToString());
+                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["缁勭粐浠g爜"].ToString());
+                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["缁勭粐鍚嶇О"].ToString());
+                    HMaterNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["瀵瑰簲ERP鐗╂枡浠g爜"].ToString());
+                    HMaterName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["瀵瑰簲ERP鐗╂枡"].ToString());
+                    HUnitName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["璁¢噺鍗曚綅"].ToString());
+                    HDeptName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["浣跨敤閮ㄩ棬"].ToString());
+                    HUseEmpName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["浣跨敤璐熻矗浜�"].ToString());
+                    HRepairEmpName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["缁存姢璐熻矗浜�"].ToString());
+                    HSupName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["渚涘簲鍟�"].ToString());;
+                    HMadeSupName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["鍒堕�犲晢"].ToString());
+                    HEquipTypeName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["璁惧鍒嗙被"].ToString());
+                    //妫�鏌ョ墿鏂�
+                    int index = i + 1;
+
+                    if (HORGNumber != "")
+                    {
+
+                        //鏌ヨ缁勭粐
+                        ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = CodeConstant.FAIL;
+                            objJsonResult.count = CountConstant.FAIL;
+                            objJsonResult.Message = "绗�" + index + "琛�,缁勭粐涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                        string HORGid = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        //鏌ヨ鍒嗙被
+                        ds = oCN.RunProcReturn("select * from Gy_EquipFileType  where  HName='" + HEquipTypeName + "' ", "EquipFileType");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + index + "琛�,鍒嗙被:" + HEquipTypeName + ",涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HEquipTypeID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                        //鏌ヨ鐗╂枡
+                        ds = oCN.RunProcReturn("select * from Gy_Material where  HNumber='" + HMaterNumber + "'  and HUSEORGID=" + HORGid + "", "Gy_Department");
+
+                        if (ds.Tables[0].Rows.Count == 0 && HMaterNumber != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + index + "琛�,璇�" + HORGName + "缁勭粐,鐗╂枡:" + HMaterName + ",涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else if (HMaterNumber == "")
+                        {
+                            tb2.Rows[i]["HMaterID"] = 0;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HMaterID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                        //鏌ヨ鍗曚綅
+                        ds = oCN.RunProcReturn("select * from Gy_Unit where  HName='" + HUnitName + "'  and HUSEORGID=" + HORGid + "", "Gy_Unit");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + index + "琛�,璇�" + HORGName + "缁勭粐,鍗曚綅:" + HUnitName + ",涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HUnitID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                        //鏌ヨ閮ㄩ棬
+                        ds = oCN.RunProcReturn("select * from Gy_Department where  HName='" + HDeptName + "'  and HUSEORGID=" + HORGid + "", "Gy_Department");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + index + "琛�,璇�" + HORGName + "缁勭粐,閮ㄩ棬:" + HDeptName + ",涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HDeptID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                        //鏌ヨ浣跨敤璐熻矗浜�
+                        ds = oCN.RunProcReturn("select * from Gy_Employee where  HName='" + HUseEmpName + "'  and HUSEORGID=" + HORGid + "", "Gy_Employee");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + index + "琛�,璇�" + HORGName + "缁勭粐,浣跨敤璐熻矗浜�:" + HUseEmpName + ",涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HUseEmpID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                        //鏌ヨ缁存姢璐熻矗浜�
+                        ds = oCN.RunProcReturn("select * from Gy_Employee where  HName='" + HRepairEmpName + "'  and HUSEORGID=" + HORGid + "", "Gy_Employee");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + index + "琛�,璇�" + HORGName + "缁勭粐,缁存姢璐熻矗浜轰汉:" + HRepairEmpName + ",涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HRepairEmpID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                        //鏌ヨ渚涘簲鍟�
+                        ds = oCN.RunProcReturn("select * from Gy_Supplier where  HName='" + HSupName + "'  and HUSEORGID=" + HORGid + "", "Gy_Supplier");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + index + "琛�,璇�" + HORGName + "缁勭粐,渚涘簲鍟�:" + HSupName + ",涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HSupID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                        //鏌ヨ鍒堕�犲晢
+                        ds = oCN.RunProcReturn("select * from Gy_Supplier where  HName='" + HMadeSupName + "'  and HUSEORGID=" + HORGid + "", "Gy_Supplier");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + index + "琛�,璇�" + HORGName + "缁勭粐,鍒堕�犲晢:" + HMadeSupName + ",涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HMadeSupID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+
+                        //璁惧妗f鍚嶇О
+                        if (HEquipName == "")
+                        {
+                            objJsonResult.code = CodeConstant.FAIL;
+                            objJsonResult.count = CountConstant.FAIL;
+                            objJsonResult.Message = "绗�" + index + "琛�,璁惧妗f鍚嶇О涓嶈兘涓虹┖锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        //璁惧妗f浠g爜
+                        if (HEquipNo == "")
+                        {
+                            objJsonResult.code = CodeConstant.FAIL;
+                            objJsonResult.count = CountConstant.FAIL;
+                            objJsonResult.Message = "绗�" + index + "琛�,璁惧妗f缂栧彿涓嶈兘涓虹┖锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    else
+                    {
+                        objJsonResult.code = CodeConstant.FAIL;
+                        objJsonResult.count = CountConstant.FAIL;
+                        objJsonResult.Message = "绗�" + index + "琛�,缁勭粐浠g爜涓虹┖";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                objJsonResult.code = CodeConstant.SUCCEED;
+                objJsonResult.count = CountConstant.SUCCEED;
+                objJsonResult.Message = error;
+                objJsonResult.data = tb2;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = CodeConstant.FAIL;
+                objJsonResult.count = CountConstant.FAIL;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 璁惧妗f椤圭洰 瀵煎叆(淇濆瓨)
+        [Route("Gy_EquipFileMain/Gy_EquipFileMain_btnSave")]
+        [HttpPost]
+        public object Gy_EquipFile_btnSave([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { "&鍜�" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string user = sArray[1].ToString();
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Edit", 1, false, user))
+                {
+                    objJsonResult.code = CodeConstant.FAIL;
+                    objJsonResult.count = CountConstant.FAIL;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2);
+                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
+
+                foreach (JObject item in Excel)
+                {
+                    Dictionary<string, string> dic = new Dictionary<string, string>();
+                    foreach (var itm in item.Properties())
+                    {
+                        dic.Add(itm.Name, itm.Value.ToString());
+                    }
+                    list.Add(dic);
+                }
+
+                oCN.BeginTran();
+                int i = 1;
+                foreach (Dictionary<string, string> item in list)
+                {
+                    string HOrgID = item["HOrgID"].ToString();//缁勭粐ID
+                    string BillType = "3308";
+                    //寰楀埌mainid
+                    long HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                    string HBillNo = DBUtility.ClsPub.CreateBillCode(BillType, ref DBUtility.ClsPub.sExeReturnInfo, true); ;//閫掑叆type寰楀埌鐨勫崟鎹彿
+                    DateTime HDate = DateTime.Now;//鏃ユ湡
+                    string HYear = DateTime.Now.Year.ToString();
+                    string HEquipFileNumber = "";
+                    string HEquipFileNo = item["璁惧缂栧彿"].ToString();         //	varchar(50)	//璁惧缂栫爜(鍞竴)
+                    string HName = item["璁惧鍚嶇О"].ToString();                //    鈭�	varchar(100)     	//璁惧鍚嶇О
+                    string HModel = item["璁惧瑙勬牸"].ToString();               //   鈭� 	varchar(100)     	//璁惧瑙勬牸
+                    string HModel2 = item["璁惧鍨嬪彿"].ToString();              //    鈭�	varchar(100)    	//璁惧鍨嬪彿 
+                    int HMaterID = int.Parse(item["HMaterID"].ToString());                //   鈭�	int    		//瀵瑰簲鐗╂枡 
+                    int HUnitID = int.Parse(item["HUnitID"].ToString());                 //    鈭�	int    		//鍗曚綅
+                    string HOutComDate = item["璁惧鍑哄巶鏃ユ湡"].ToString() == "" ? DateTime.Now.ToString() : item["璁惧鍑哄巶鏃ユ湡"].ToString();        // 鈭� 	datetime   	//璁惧鍑哄巶鏃ユ湡
+                    string HOutComNo = item["璁惧鍑哄巶缂栧彿"].ToString();            //  鈭� 	varchar(100)   	//璁惧鍑哄巶缂栧彿
+                    int HDeptID = int.Parse(item["HDeptID"].ToString());                 //    鈭�	int    		//浣跨敤閮ㄩ棬锛坓y_Department锛�
+                    int HUseEmpID = int.Parse(item["HUseEmpID"].ToString());               //鈭�	int		//浣跨敤璐熻矗浜猴紙gy_Employee锛�
+                    int HRepairEmpID = int.Parse(item["HRepairEmpID"].ToString());            //鈭�	int		//缁存姢璐熻矗浜猴紙gy_Employee锛�
+                    string HAddress = item["瀹夎鍦扮偣"].ToString();             // 鈭� 	varchar(500)      	//瀹夎鍦扮偣
+                    string HSetupDate = item["瀹夎鏃ユ湡"].ToString() == "" ? DateTime.Now.ToString() : item["瀹夎鏃ユ湡"].ToString();         //鈭�	datetime		//瀹夎鏃ユ湡
+                    string HStartupDate = item["杩愯寮�濮嬫棩鏈�"].ToString() == "" ? DateTime.Now.ToString() : item["杩愯寮�濮嬫棩鏈�"].ToString();         //鈭�	datetime		//杩愯寮�濮嬫棩鏈� 
+                    string HStatus = "绌洪棽";              //	鈭�	varchar(20)	//褰撳墠鐘舵�侊紙绌洪棽銆佸崰鐢ㄣ�佸姞宸ャ�佸叧鏈恒�佸紓甯稿仠鏈猴級
+                    int HEquipFileTypeID = int.Parse(item["HEquipTypeID"].ToString());        //鈭�	int		//璁惧绫诲埆锛圙y_EquipFileType)
+                    string HProNum = item["宸ョ▼缂栫爜"].ToString();              //	鈭�	varchar(100)	//宸ョ▼缂栫爜
+                    string HBarCode = item["鏉″舰鐮�"].ToString();             //鈭�	varchar(100)	//鏉″舰鐮�(鏆傛椂淇濆瓨姝ゅ瓧娈�)
+                    string HWorkArea = item["浜у湴"].ToString();            //鈭�	varchar(50)	//浜у湴
+                    string HLogo = item["鍝佺墝"].ToString();                //鈭�		varchar(50)	//鍝佺墝
+                    int HSellSupID = int.Parse(item["HSupID"].ToString());                // 鈭�	int		//渚涘簲鍟�(Gy_Supplier)
+                    int HMakeSupID = int.Parse(item["HMadeSupID"].ToString());             // int		//鍒堕�犲晢 (Gy_Supplier) 
+                    string HMainSourceFlag = "鍚�";             //varchar(10) //鏄惁涓荤敓浜ц澶�(鍚︼紝鏄�)
+                    string HMacAddress = "";   // varchar(50) //鏁伴噰鐗╃悊鍦板潃
+                    int HMainSourceID = 0;  //int //鎵�灞炰富鐢熶骇璁惧锛圙y_EquipFileBillMain锛�
+                    string HMaker = user;
+                    string HMakeDate = DateTime.Now.Date.ToString();
+                    int HEquipDotCheckRuleInterID = 0;
+                    int HEquipMaintainRuleInterID = 0;
+                    int HSourceID = 0;
+
+
+                    if (!DBUtility.ClsPub.AllowNumber(HEquipFileNo.Trim()))
+                    {
+                        objJsonResult.code = CodeConstant.FAIL;
+                        objJsonResult.count = CountConstant.FAIL;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮佷腑涓嶈兘鍑虹幇杩炵画鈥�.鈥欏苟涓旈浣嶆湯浣嶄笉鑳戒负鈥�.鈥欙紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+
+                    ds = oCN.RunProcReturn("select * from Gy_EquipFileBillMain where HEquipFileNo='" + HEquipFileNo + "'", "Gy_EquipFileBillMain");
+
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+
+                        oCN.RunProc("Insert into Gy_EquipFileBillMain " +
+                   " (HInterID,hbillno,HEquipFileNumber,HEquipFileNo,HName,HModel,HModel2,HMaterID,HUnitID,HOutComDate" +
+                   ",HOutComNo,HDeptID,HUseEmpID,HRepairEmpID,HAddress,HSetupDate,HStartupDate,HStatus," +
+"HEquipFileTypeID,HProNum,HBarCode,HWorkArea,HLogo,HSellSupID,HMakeSupID,hbilltype,HDate,HYear,HMaker,HMakeDate,HEquipMaintainRuleInterID,HEquipDotCheckRuleInterID,HSourceID,HMainSourceFlag,HMacAddress,HMainSourceID) " +
+                   " Values(" + HInterID + ",'" + HBillNo + "','" + HEquipFileNumber + "','" + HEquipFileNo + "','" + HName + "','" + HModel + "','" + HModel2 + "'," + HMaterID + "," + HUnitID +
+                   ",'" + HOutComDate + "','" + HOutComNo + "'," + HDeptID + "," + HUseEmpID + "," + HRepairEmpID + ",'" + HAddress +
+                   "','" + HSetupDate + "','" + HStartupDate + "','" + HStatus + "'," + HEquipFileTypeID + ",'" + HProNum +
+                   "','" + HBarCode + "','" + HWorkArea + "','" + HLogo + "'," + HSellSupID + "," + HMakeSupID + ",'3308','" + HDate + "','" + HYear + "','" + HMaker + "','" + HMakeDate + "','" + HEquipMaintainRuleInterID + "','" + HEquipDotCheckRuleInterID + "'," + HSourceID + ",'" + HMainSourceFlag + "','" + HMacAddress + "','" + HMainSourceID + "')");
+                    }
+                    else
+                    {
+                        oCN.RunProc("Update Gy_EquipFileBillMain set " +
+                    " HEquipFileNumber='" + HEquipFileNumber + "'" +
+                    //",HEquipFileNo='" + HEquipFileNo + "'" +
+                    ",HName='" + HName + "'" +
+                    ",HModel='" + HModel + "'" +
+                    ",HModel2='" + HModel2 + "'" +
+                    ",HMaterID=" + HMaterID +
+                    ",HUnitID=" + HUnitID +
+                    ",HOutComDate='" + HOutComDate + "'" +
+                    ",HOutComNo='" + HOutComNo + "'" +
+                    ",HDeptID=" + HDeptID +
+                    ",HUseEmpID=" + HUseEmpID +
+                    ",HRepairEmpID=" + HRepairEmpID +
+                    ",HAddress='" + HAddress + "'" +
+                    ",HSetupDate='" + HSetupDate + "'" +
+                    ",HStartupDate='" + HStartupDate + "'" +
+                    ",HStatus='" + HStatus + "'" +
+                    ",HEquipFileTypeID=" + HEquipFileTypeID +
+                    ",HProNum='" + HProNum + "'" +
+                    ",HBarCode='" + HBarCode + "'" +
+                    ",HWorkArea='" + HWorkArea + "'" +
+                    ",HLogo='" + HLogo + "'" +
+                    ",HSellSupID=" + HSellSupID +
+                    ",HMakeSupID= " + HMakeSupID +
+                    ",HUpDater= '" + user + "'" +
+                    ",HUpDateDate= getdate()" + "" +
+                    ",HEquipDotCheckRuleInterID='" + HEquipDotCheckRuleInterID + "'" +
+                    ",HEquipMaintainRuleInterID='" + HEquipMaintainRuleInterID + "'" +
+                    ",HSourceID='" + HSourceID + "'" +
+                    ",HMainSourceFlag= '" + HMainSourceFlag + "'" +
+                    ",HMacAddress= '" + HMacAddress + "'" +
+                    ",HMainSourceID = '" + HMainSourceID + "'" +
+                    " Where HEquipFileNo='" + HEquipFileNo + "'");
+                    }
+
+                    i++;
+                }
+
+                oCN.Commit();
+
+                objJsonResult.code = CodeConstant.SUCCEED;
+                objJsonResult.count = CountConstant.SUCCEED;
+                objJsonResult.Message = "瀵煎叆鎴愬姛!";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                LogService.Write(e);
+                objJsonResult.code = CodeConstant.FAIL;
+                objJsonResult.count = CountConstant.FAIL;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+        #endregion
+
     }
 }

--
Gitblit v1.9.1