From 88d14b74edc9430c061c10fee97746566ddaf85d Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期二, 23 四月 2024 10:46:50 +0800
Subject: [PATCH] 自动生成条码_PLC:接收Socket通讯并自动生成条码、打印

---
 WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs |  578 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 560 insertions(+), 18 deletions(-)

diff --git a/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs b/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
index ef10199..6346119 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;
@@ -16,14 +18,15 @@
         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,string user)
+        public object GetList(string sWhere, string user)
         {
             try
             {
@@ -78,7 +81,7 @@
         #region [璁惧妗f鍒犻櫎鍔熻兘]
         [Route("Gy_EquipFileMain/Delete_EquipFile")]
         [HttpGet]
-        public object Delete_EquipFile(string HItemID,string user)
+        public object Delete_EquipFile(string HItemID, string user)
         {
             if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Delete", 1, false, user))
             {
@@ -181,11 +184,11 @@
 
                 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)     	//璁惧瑙勬牸
@@ -212,6 +215,7 @@
                 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))
                 {
@@ -227,12 +231,11 @@
                 oCN.RunProc("Insert into Gy_EquipFileBillMain " +
                    " (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) " +
+"HEquipFileTypeID,HProNum,HBarCode,HWorkArea,HLogo,HSellSupID,HMakeSupID,hbilltype,HDate,HYear,HMaker,HMakeDate,HEquipMaintainRuleInterID,HEquipDotCheckRuleInterID,HSourceID) " +
                    " Values('" + 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+
-                   "')", ref DBUtility.ClsPub.sExeReturnInfo);
+                   "','" + HBarCode + "','" + HWorkArea + "','" + HLogo + "'," + HSellSupID + "," + HMakeSupID + ",'3308','" + HDate + "','" + HYear + "','" + HMaker + "','" + HMakeDate + "','" + HEquipMaintainRuleInterID + "','" + HEquipDotCheckRuleInterID +"'," + HSourceID + ")", ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼涓婄骇涓洪潪鏈骇浠g爜
                 oCN.Commit();
                 objJsonResult.code = "1";
@@ -254,7 +257,7 @@
         #endregion
 
         #region 璁惧妗f淇敼淇濆瓨
-        
+
         [Route("Gy_EquipFileMain/EditBill")]
         [HttpPost]
         public object EditBill([FromBody] JObject oMain)
@@ -310,6 +313,8 @@
                 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))
                 {
@@ -341,28 +346,29 @@
                     ",HName='" + HName + "'" +
                     ",HModel='" + HModel + "'" +
                     ",HModel2='" + HModel2 + "'" +
-                    ",HMaterID=" + HMaterID + 
-                    ",HUnitID=" + HUnitID + 
+                    ",HMaterID=" + HMaterID +
+                    ",HUnitID=" + HUnitID +
                     ",HOutComDate='" + HOutComDate + "'" +
                     ",HOutComNo='" + HOutComNo + "'" +
-                    ",HDeptID=" + HDeptID + 
+                    ",HDeptID=" + HDeptID +
                     ",HUseEmpID=" + HUseEmpID +
                     ",HRepairEmpID=" + HRepairEmpID +
                     ",HAddress='" + HAddress + "'" +
                     ",HSetupDate='" + HSetupDate + "'" +
                     ",HStartupDate='" + HStartupDate + "'" +
                     ",HStatus='" + HStatus + "'" +
-                    ",HEquipFileTypeID=" + HEquipFileTypeID + 
+                    ",HEquipFileTypeID=" + HEquipFileTypeID +
                     ",HProNum='" + HProNum + "'" +
                     ",HBarCode='" + HBarCode + "'" +
                     ",HWorkArea='" + HWorkArea + "'" +
                     ",HLogo='" + HLogo + "'" +
-                    ",HSellSupID=" + HSellSupID + 
+                    ",HSellSupID=" + HSellSupID +
                     ",HMakeSupID= " + HMakeSupID +
                     ",HUpDater= '" + HUpDater + "'" +
                     ",HUpDateDate= '" + HUpDateDate + "'" +
-                    ",HEquipDotCheckRuleInterID='"+ HEquipDotCheckRuleInterID+"'"+
-                    ",HEquipMaintainRuleInterID='"+ HEquipMaintainRuleInterID+"'"+
+                    ",HEquipDotCheckRuleInterID='" + HEquipDotCheckRuleInterID + "'" +
+                    ",HEquipMaintainRuleInterID='" + HEquipMaintainRuleInterID + "'" +
+                    ",HSourceID='" + HSourceID + "'" +
                     " Where HInterID=" + HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼瀛愰」鐩唬鐮�
                 //oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_RepairCheck,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
@@ -385,5 +391,541 @@
             }
         }
         #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
+       
     }
 }

--
Gitblit v1.9.1