From 94d0ab3adaaa7c74ea9aeb6475fd198511a29323 Mon Sep 17 00:00:00 2001 From: wtt <1985833171@qq.com> Date: 星期二, 15 七月 2025 16:26:17 +0800 Subject: [PATCH] 1 --- WebAPI/Controllers/BaseSet/Gy_WarehouseController.cs | 147 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 145 insertions(+), 2 deletions(-) diff --git a/WebAPI/Controllers/BaseSet/Gy_WarehouseController.cs b/WebAPI/Controllers/BaseSet/Gy_WarehouseController.cs index 6aa9e2f..79b5c2c 100644 --- a/WebAPI/Controllers/BaseSet/Gy_WarehouseController.cs +++ b/WebAPI/Controllers/BaseSet/Gy_WarehouseController.cs @@ -85,6 +85,91 @@ } + public class TreeModel + { + public string Id { get; set; } + public string Number { get; set; } + public string Title { get; set; } + public List<TreeModel> children = new List<TreeModel>(); + } + /// <summary> + /// 杩斿洖浠撳簱鍒楄〃 + ///鍙傛暟锛歴tring sql銆� + ///杩斿洖鍊硷細object銆� + /// </summary> + [Route("Gy_Warehouse/listTree")] + [HttpGet] + public object listTree(string sWhere, string user, string Organization) + { + try + { + List<object> columnNameList = new List<object>(); + //缂栬緫鏉冮檺 + if (!DBUtility.ClsPub.Security_Log_second("Gy_Warehouse", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒"; + objJsonResult.data = null; + return objJsonResult; + } + string sql1 = string.Format(@"select * from h_v_IF_WareHouseList_ExtendWHType where 缁勭粐鍚嶇О='" + Organization + "'"); + if (sWhere == null || sWhere.Equals("")) + { + ds = oCN.RunProcReturn(sql1 + sWhere + " order by 浠撳簱浠g爜 ", "h_v_IF_WareHouseList_ExtendWHType"); + } + else + { + string sql = sql1 + sWhere + " order by 浠撳簱浠g爜 "; + ds = oCN.RunProcReturn(sql, "h_v_IF_WareHouseList_ExtendWHType"); + } + + List<TreeModel> treeModels = new List<TreeModel>(); + TreeModel first = new TreeModel(); + first.Id = "0"; + first.Title = "妯″叿浠撳簱"; + first.Number = "0"; + 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(); + tree.Number = row["HNumber"].ToString(); + treeModels[0].children.Add(tree); + } + } + digui(ds.Tables[0], treeModels[0].children, 2); + + //娣诲姞鍒楀悕 + 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 = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels); + objJsonResult.list = columnNameList; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + /// <summary> /// 鏍规嵁鍩虹璧勬枡ID 鏌ユ壘璁板綍 @@ -329,6 +414,7 @@ //long HCREATEORGID = list[0].HCREATEORGID; string HUpDater = list[0].HUpDater; long HSPFlag = list[0].HSPFlag; + string HWarehouseType = list[0].HWarehouseType; //寰楀埌鐭唬鐮� string HShortNumber = DBUtility.ClsPub.GetShortNumber(HNumber); if (HShortNumber.Trim() == "") @@ -385,6 +471,17 @@ // objJsonResult.data = null; // return objJsonResult; //} + //鏌ヨ鏁版嵁涓槸鍚﹀瓨鍦ㄩ噸澶嶄唬鐮� + ds = oCN.RunProcReturn("Select HItemID from Gy_Warehouse Where HItemID<>" + HItemID + " and HNumber='" + HNumber + "' and HUSEORGID=" + HUSEORGID, "Gy_Warehouse"); + + if (ds.Tables[0].Rows.Count > 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮侀噸澶嶏紒"; + objJsonResult.data = 1; + return objJsonResult; + } //淇濆瓨 //淇濆瓨瀹屾瘯鍚庡鐞� if (HItemID == 0) @@ -392,9 +489,11 @@ oCN.BeginTran(); oCN.RunProc("Insert into Gy_Warehouse " + " (HNumber,HName,HHelpCode,HShortNumber,HParentID" + - ",HLevel,HEndFlag,HStopflag,HRemark,HEmpID,HAddress,HPhone,HUSEORGID,HSPFlag,HCREATEORGID,HMaker,HMakeTime,HStockCtrlFlag) " + + ",HLevel,HEndFlag,HStopflag,HRemark,HEmpID,HAddress,HPhone,HUSEORGID,HSPFlag,HCREATEORGID,HMaker,HMakeTime,HStockCtrlFlag" + + ",HWarehouseType) " + " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + HParentID.ToString() + - "," + HLevel.ToString() + "," + HEndFlag + "," + Convert.ToString(HStopflag ? 1 : 0) + ",'" + HRemark + "'," + HEmpID.ToString() + ",'" + HAddress + "','" + HPhone + "','"+ HUSEORGID + "',"+ HSPFlag + ","+ HUSEORGID + ",'"+msg3+"',getdate(),"+ Convert.ToString(HStockCtrlFlag ? 1 : 0)+")", ref DBUtility.ClsPub.sExeReturnInfo); + "," + HLevel.ToString() + "," + HEndFlag + "," + Convert.ToString(HStopflag ? 1 : 0) + ",'" + HRemark + "'," + HEmpID.ToString() + ",'" + HAddress + "','" + HPhone + "','"+ HUSEORGID + "',"+ HSPFlag + ","+ HUSEORGID + ",'"+msg3+"',getdate(),"+ Convert.ToString(HStockCtrlFlag ? 1 : 0)+"" + + ",'"+ HWarehouseType + "')", ref DBUtility.ClsPub.sExeReturnInfo); //淇敼涓婄骇涓洪潪鏈骇浠g爜 oCN.RunProc("Update Gy_Warehouse set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo); //鍚敤浠撲綅 @@ -409,6 +508,19 @@ else { //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙� oCN.BeginTran(); + //宸插鏍镐笉鍏佽淇敼 + DataSet dss; + dss = oCN.RunProcReturn("select * from Gy_Warehouse where HItemID=" + HItemID, "Gy_Warehouse"); + //鍒ゆ柇鏄惁鍙紪杈� + if (dss.Tables[0].Rows[0]["HCheckEmp"].ToString() != "") + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "姝ゅ崟鎹姸鎬佸凡缁忓鏍革紝涓嶅厑璁镐慨鏀癸紒"; + objJsonResult.data = null; + return objJsonResult; + } //涓昏〃 oCN.RunProc("Update Gy_Warehouse set " + " HNumber='" + HNumber + "'" + @@ -422,6 +534,7 @@ ",HAddress='" + HAddress + "'" + ",HPhone='" + HPhone + "'" + ",HUSEORGID='" + HUSEORGID + "'" + + ",HWarehouseType='" + HWarehouseType + "'" + ",HCREATEORGID='" + HUSEORGID + "'" + ",HSPFlag='" + HSPFlag + "'" + //",HSPGroupID='" + HSPGroupID + "'" + @@ -1211,5 +1324,35 @@ } #endregion + #region 閫掑綊鐢熸垚鏍戠姸缁撴瀯 + /// <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(); + tbjson.Number = dt.Rows[i]["HNumber"].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 } } \ No newline at end of file -- Gitblit v1.9.1