From 1e5c4412216cdba315ab37ebc8e85644f39a7df1 Mon Sep 17 00:00:00 2001 From: yxj <yxj@hz-kingdee.com> Date: 星期五, 11 七月 2025 16:50:02 +0800 Subject: [PATCH] PDA校验扫描物料条码方法修改,增加校验模块免扫物料条码系统参数 --- WebAPI/Controllers/BaseSet/Gy_WarehouseController.cs | 139 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 139 insertions(+), 0 deletions(-) diff --git a/WebAPI/Controllers/BaseSet/Gy_WarehouseController.cs b/WebAPI/Controllers/BaseSet/Gy_WarehouseController.cs index b7a2c38..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 鏌ユ壘璁板綍 @@ -386,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) @@ -412,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 + "'" + @@ -1215,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