From 9e5b434e9c0303d17726469a34717f520615af68 Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期一, 27 十月 2025 08:49:32 +0800
Subject: [PATCH] 1
---
WebAPI/Controllers/BaseSet/Gy_WarehouseController.cs | 213 +++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 183 insertions(+), 30 deletions(-)
diff --git a/WebAPI/Controllers/BaseSet/Gy_WarehouseController.cs b/WebAPI/Controllers/BaseSet/Gy_WarehouseController.cs
index 4e856a5..be10d55 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 鏌ユ壘璁板綍
@@ -646,7 +731,7 @@
#region [鍚屾鍩虹璧勬枡]
[Route("Gy_Warehouse/Gy_WarehouseViewApi")]
[HttpGet]
- public json Gy_WarehouseViewApi(string Number, string Type)
+ public json Gy_WarehouseViewApi(string Number, string Type, string HUseOrgID)
{
string sql = string.Empty;
string sReturn = "";
@@ -704,14 +789,23 @@
{
#region [鍏湁浜戞ā寮忥紝璋冪敤WEBAPI鐨勬柟寮忚繘琛屾洿鏂癩
var json = new
+ //{
+ // CreateOrgId = 0,
+ // Number = Number,
+ // Id = ""
+ //};
{
- CreateOrgId = 0,
- Number = Number,
- Id = ""
+ FormId = "BD_STOCK",
+ FieldKeys = "FMASTERID,FNUMBER,FNAME,FFORBIDSTATUS,FISOPENLOCATION,FAllowMinusQty,FCREATEDATE,FCREATEORGID,FUSEORGID,FSTOCKPROPERTY,FDefStockStatusId",
+ FilterString = $@"FNUMBER='{Number}' AND FUSEORGID={HUseOrgID}",
+ OrderString = "",
+ TopRowCount = 0,
+ StartRow = 0,
+ Limit = 0
};
- #region [閲戣澏閮ㄥ垎]
- //鐧诲綍閲戣澏
- var loginRet = InvokeHelper.Login();
+ #region [閲戣澏閮ㄥ垎]
+ //鐧诲綍閲戣澏
+ var loginRet = InvokeHelper.Login();
var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
//鍒ゆ柇鏄惁鐧诲綍鎴愬姛
if (isSuccess < 0)
@@ -723,14 +817,22 @@
return objJsonResult;
}
//鏌ョ湅 鑾峰彇鏁版嵁
- var _result = InvokeHelper.View("BD_STOCK", JsonConvert.SerializeObject(json));
- var _saveObj = JObject.Parse(_result);
+ var _result = InvokeHelper.Query("BD_STOCK", JsonConvert.SerializeObject(json));
+ var _saveObj = JArray.Parse(_result);
//鍒ゆ柇鏁版嵁鏄惁鑾峰彇鎴愬姛
- if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+ // if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+ // {
+ // objJsonResult.code = "0";
+ // objJsonResult.count = 0;
+ // objJsonResult.Message = "閲戣澏浠撳簱浠撲綅鍚屾澶辫触jsonRoot锛�" + _result;
+ // objJsonResult.data = null;
+ // return objJsonResult;
+ // }
+ if (_saveObj.Count == 0)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
- objJsonResult.Message = "閲戣澏浠撳簱浠撲綅鍚屾澶辫触jsonRoot锛�" + _result;
+ objJsonResult.Message = "閲戣澏瀹㈡埛鍚屾澶辫触锛屼娇鐢ㄧ粍缁囧搴旂殑浠撳簱浠g爜鏃犲搴旂殑浠撳簱";
objJsonResult.data = null;
return objJsonResult;
}
@@ -746,26 +848,47 @@
#region [琛ㄦ暟鎹祴鍊糫
var jsonData = new
+ //{
+ // HItemID = _saveObj["Result"]["Result"]["Id"],
+ // HERPItemID = _saveObj["Result"]["Result"]["Id"],
+ // HNumber = _saveObj["Result"]["Result"]["Number"],
+ // HName = _saveObj["Result"]["Result"]["Name"][0]["Value"],
+ // HShortNumber = _saveObj["Result"]["Result"]["Number"],
+ // HParentID = 0,
+ // HLevel = 1,
+ // HEndFlag = 1,
+ // HStopflag = _saveObj["Result"]["Result"]["ForbidStatus"].ToString() == "A" ? 0 : 1,
+ // HRemark = "CLD-ERP瀵煎叆",
+ // HSPFlag = _saveObj["Result"]["Result"]["IsOpenLocation"].ToString() == "false" ? 0 : 1,
+ // HSPGroupID = 0,
+ // HUnderStock = _saveObj["Result"]["Result"]["AllowMinusQty"].ToString() == "false" ? 0 : 1,
+ // HUseFlag = "宸蹭娇鐢�",
+ // HMakeTime = _saveObj["Result"]["Result"]["CreateDate"],
+ // HCREATEORGID = _saveObj["Result"]["Result"]["CreateOrgId_Id"],
+ // HUSEORGID = _saveObj["Result"]["Result"]["UseOrgId_Id"],
+ // HSTOCKPROPERTY = _saveObj["Result"]["Result"]["StockProperty"],
+ // HDEFSTOCKSTATUSID = _saveObj["Result"]["Result"]["DefStockStatusId_Id"],
+ //};
{
- HItemID = _saveObj["Result"]["Result"]["Id"],
- HERPItemID = _saveObj["Result"]["Result"]["Id"],
- HNumber = _saveObj["Result"]["Result"]["Number"],
- HName = _saveObj["Result"]["Result"]["Name"][0]["Value"],
- HShortNumber = _saveObj["Result"]["Result"]["Number"],
- HParentID = 0,
- HLevel = 1,
- HEndFlag = 1,
- HStopflag = _saveObj["Result"]["Result"]["ForbidStatus"].ToString() == "A" ? 0 : 1,
- HRemark = "CLD-ERP瀵煎叆",
- HSPFlag = _saveObj["Result"]["Result"]["IsOpenLocation"].ToString() == "false" ? 0 : 1,
- HSPGroupID = 0,
- HUnderStock = _saveObj["Result"]["Result"]["AllowMinusQty"].ToString() == "false" ? 0 : 1,
- HUseFlag = "宸蹭娇鐢�",
- HMakeTime = _saveObj["Result"]["Result"]["CreateDate"],
- HCREATEORGID = _saveObj["Result"]["Result"]["CreateOrgId_Id"],
- HUSEORGID = _saveObj["Result"]["Result"]["UseOrgId_Id"],
- HSTOCKPROPERTY = _saveObj["Result"]["Result"]["StockProperty"],
- HDEFSTOCKSTATUSID = _saveObj["Result"]["Result"]["DefStockStatusId_Id"],
+ HItemID = _saveObj[0][0],
+ HERPItemID = _saveObj[0][0],
+ HNumber = _saveObj[0][1],
+ HName = _saveObj[0][2],
+ HShortNumber = _saveObj[0][1],
+ HParentID = 0,
+ HLevel = 1,
+ HEndFlag = 1,
+ HStopflag = _saveObj[0][3].ToString() == "A" ? 0 : 1,
+ HRemark = "CLD-ERP瀵煎叆",
+ HSPFlag = _saveObj[0][4].ToString() == "false" ? 0 : 1,
+ HSPGroupID = 0,
+ HUnderStock = _saveObj[0][5].ToString() == "false" ? 0 : 1,
+ HUseFlag = "宸蹭娇鐢�",
+ HMakeTime = _saveObj[0][6],
+ HCREATEORGID = _saveObj[0][7],
+ HUSEORGID = _saveObj[0][8],
+ HSTOCKPROPERTY = _saveObj[0][9],
+ HDEFSTOCKSTATUSID = _saveObj[0][10],
};
#endregion
// 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
@@ -1239,5 +1362,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