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