From 92993b722fd262c7b8179abe64c4ba5ccc07c6f2 Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期六, 11 十月 2025 08:06:40 +0800
Subject: [PATCH] PDA生产组托扫描托条码调用方法修改,新增用户模块权限判断控制方法
---
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