From 033d6d49fbb0a924653c7fd3ef3700a24f37ee59 Mon Sep 17 00:00:00 2001
From: llj <132905093+newwwwwwtree@users.noreply.github.com>
Date: 星期一, 22 十二月 2025 16:16:41 +0800
Subject: [PATCH] 1
---
WebAPI/Controllers/MateOutController.cs | 680 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 679 insertions(+), 1 deletions(-)
diff --git a/WebAPI/Controllers/MateOutController.cs b/WebAPI/Controllers/MateOutController.cs
index 6c21da1..517102f 100644
--- a/WebAPI/Controllers/MateOutController.cs
+++ b/WebAPI/Controllers/MateOutController.cs
@@ -1074,10 +1074,390 @@
{
try
{
+ SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+ List<object> columnNameList = new List<object>();
+ string Ret = "";
+
+ if (oSystemParameter.ShowBill(ref Ret))
+ {
+ if (oSystemParameter.omodel.WMS_CloudMode == "Y")
+ {
+ DataSet ds = oCN.RunProcReturn("exec h_p_KF_ICInventoryByMaterIDList1 '" + HBarCode + "'," + sHWHID + "," + sHSPID + "," + HOWNERID + ",'" + sWhere + "'", "h_p_KF_ICInventoryByMaterIDList");
+
+ //娣诲姞鍒楀悕
+ 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鍒楀璞$殑鍒楀悕
+ }
+
+ if (ds == null || ds.Tables[0].Rows.Count <= 0)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ else
+ {
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+ objJsonResult.data = ds.Tables[0];
+ objJsonResult.list = columnNameList;
+ return objJsonResult;
+ }
+ }
+ else
+ {
+ //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮�
+ if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "ERP搴撳瓨鏌ヨ锛屽悓姝ヨ幏鍙栫櫥褰曡处鍙峰瘑鐮佸け璐ワ紒";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ var loginRet = InvokeHelper.Login();
+ var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
+ if (isSuccess == 0)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鐧诲綍閲戣澏澶辫触锛�";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ else
+ {
+ string queryJson = BuildDynamicQueryJson(HBarCode, sHWHID, HOWNERID);
+
+ string result = InvokeHelper.ExecuteBillQuery("STK_Inventory", queryJson);//鏌ヨ
+ var dataArray = JArray.Parse(result);
+
+ if (dataArray == null || dataArray.Count == 0)
+ {
+ objJsonResult.code = "1";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鏌ヨ鎴愬姛锛屾棤鏁版嵁锛�";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ // 绗竴姝ワ細鏀堕泦鎵�鏈夐渶瑕佹煡璇㈢殑ID
+ var ids = CollectIdsFromDataArray(dataArray);
+
+ // 绗簩姝ワ細鎵归噺鏌ヨ鏁版嵁搴撲腑鐨勫熀纭�淇℃伅锛堝悓姝ユ柟寮忥級
+ var stockDict = BatchQuery(oCN, "Gy_Warehouse", "HName", ids.StockIds);
+ var locationDict = BatchQuery(oCN, "Gy_StockPlace", "HName", ids.LocationIds);
+ var materialDict = BatchQuery(oCN, "Gy_Material", "HNumber", ids.MaterialIds);
+ var orgDict = BatchQuery(oCN, "Xt_ORGANIZATIONS", "HName", ids.OwnerIds);
+ var propDict = BatchQuery(oCN, "Gy_Property", "HName", ids.PropIds);
+
+ // 绗笁姝ワ細鎵归噺鏌ヨ鎵规淇℃伅锛堣皟鐢ㄩ噾铦舵帴鍙o級
+ var batchDict = BatchQueryBatchInfo(ids.BatchIds);
+
+ var finalResults = new List<Dictionary<string, object>>();
+
+ // 绗洓姝ワ細澶勭悊鏁版嵁
+ foreach (JArray item in dataArray)
+ {
+ if (item.Count >= 11)
+ {
+ int HMaterID = item[0]?.Value<int>() ?? 0;
+ int HStockId = item[3]?.Value<int>() ?? 0;
+ int HLocationId = item[5]?.Value<int>() ?? 0;
+ int FAuxPropId = item[8]?.Value<int>() ?? 0;
+ int ownerId = item[11]?.Value<int>() ?? 0;
+ int FLot = item[6]?.Value<int>() ?? 0; // 鎵规ID
+
+ // 鍒涘缓缁撴灉瀛楀吀锛屼娇鐢ㄤ腑鏂囧瓧娈靛悕
+ var resultDict = new Dictionary<string, object>
+ {
+ ["鐗╂枡鍚嶇О"] = item[1].Value<string>(),
+ ["瑙勬牸鍨嬪彿"] = item[2].Value<string>(),
+ ["鏁伴噺"] = item[4].Value<decimal>(),
+
+ ["鐢熶骇鏃ユ湡"] = DBUtility.ClsPub.isDate(item[8]?.Value<string>()),
+ ["鏈夋晥鏈熻嚦"] = DBUtility.ClsPub.isDate(item[9]?.Value<string>())
+ };
+
+ // 浠庡瓧鍏歌幏鍙栦粨搴撳悕绉�
+ if (HStockId > 0 && stockDict.TryGetValue(HStockId, out string stockName))
+ resultDict["浠撳簱"] = stockName;
+ else
+ resultDict["浠撳簱"] = "";
+
+ // 浠庡瓧鍏歌幏鍙栦粨浣嶅悕绉�
+ if (HLocationId > 0 && locationDict.TryGetValue(HLocationId, out string locationName))
+ resultDict["浠撲綅"] = locationName;
+ else
+ resultDict["浠撲綅"] = "";
+
+ // 浠庡瓧鍏歌幏鍙栫墿鏂欎唬鐮�
+ if (HMaterID > 0 && materialDict.TryGetValue(HMaterID, out string materialCode))
+ resultDict["鐗╂枡浠g爜"] = materialCode;
+ else
+ resultDict["鐗╂枡浠g爜"] = "";
+
+ // 浠庡瓧鍏歌幏鍙栫粍缁囧悕绉�
+ if (ownerId > 0 && orgDict.TryGetValue(ownerId, out string orgName))
+ resultDict["缁勭粐"] = orgName;
+ else
+ resultDict["缁勭粐"] = "";
+
+ // 浠庡瓧鍏歌幏鍙栬緟鍔╁睘鎬у悕绉�
+ if (FAuxPropId > 0 && propDict.TryGetValue(FAuxPropId, out string propName))
+ resultDict["杈呭姪灞炴��"] = propName;
+ else
+ resultDict["杈呭姪灞炴��"] = "";
+
+ // 浠庡瓧鍏歌幏鍙栨壒娆″悕绉�
+ if (FLot > 0 && batchDict.TryGetValue(FLot, out string batchName))
+ resultDict["鎵规"] = batchName;
+ else
+ resultDict["鎵规"] = "";
+
+ finalResults.Add(resultDict);
+ }
+ }
+
+ objJsonResult.code = "1";
+ objJsonResult.count = finalResults.Count;
+ objJsonResult.Message = "鏌ヨ鎴愬姛锛�";
+ objJsonResult.data = finalResults;
+ return objJsonResult;
+ }
+ }
+ }
+
+ objJsonResult.code = "1";
+ 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;
+ }
+ }
+
+ #region 閲戣澏鍙婃椂搴撳瓨鏌ヨ 浣跨敤鏂规硶
+
+ // 杈呭姪绫伙細鐢ㄤ簬鏀堕泦鎵�鏈夐渶瑕佹煡璇㈢殑ID
+ private class CollectedIds
+ {
+ public HashSet<int> StockIds { get; set; } = new HashSet<int>();
+ public HashSet<int> LocationIds { get; set; } = new HashSet<int>();
+ public HashSet<int> MaterialIds { get; set; } = new HashSet<int>();
+ public HashSet<int> OwnerIds { get; set; } = new HashSet<int>();
+ public HashSet<int> PropIds { get; set; } = new HashSet<int>();
+ public HashSet<int> BatchIds { get; set; } = new HashSet<int>(); // 鎵规ID
+ }
+
+ // 鏀堕泦鎵�鏈夐渶瑕佹煡璇㈢殑ID
+ private CollectedIds CollectIdsFromDataArray(JArray dataArray)
+ {
+ var ids = new CollectedIds();
+
+ foreach (JArray item in dataArray)
+ {
+ if (item.Count >= 11)
+ {
+ int HMaterID = item[0]?.Value<int>() ?? 0;
+ int HStockId = item[3]?.Value<int>() ?? 0;
+ int HLocationId = item[5]?.Value<int>() ?? 0;
+ int FAuxPropId = item[8]?.Value<int>() ?? 0;
+ int ownerId = item[11]?.Value<int>() ?? 0;
+ int FLot = item[6]?.Value<int>() ?? 0; // 鎵规ID
+
+ if (HStockId > 0) ids.StockIds.Add(HStockId);
+ if (HLocationId > 0) ids.LocationIds.Add(HLocationId);
+ if (HMaterID > 0) ids.MaterialIds.Add(HMaterID);
+ if (ownerId > 0) ids.OwnerIds.Add(ownerId);
+ if (FAuxPropId > 0) ids.PropIds.Add(FAuxPropId);
+ if (FLot > 0) ids.BatchIds.Add(FLot); // 鏀堕泦鎵规ID
+ }
+ }
+
+ return ids;
+ }
+
+ // 鎵归噺鏌ヨ鏂规硶锛堝悓姝ョ増鏈級
+ private Dictionary<int, string> BatchQuery(SQLHelper.ClsCN oCN, string tableName, string nameColumn, HashSet<int> ids)
+ {
+ if (ids == null || ids.Count == 0)
+ return new Dictionary<int, string>();
+
+ string idList = string.Join(",", ids);
+ string query = $"select Hitemid, {nameColumn} from {tableName} with (nolock) where Hitemid in ({idList})";
+
+ DataSet ds = oCN.RunProcReturn(query, tableName);
+ var dict = new Dictionary<int, string>();
+
+ if (ds != null && ds.Tables.Count > 0)
+ {
+ foreach (DataRow row in ds.Tables[0].Rows)
+ {
+ int id = Convert.ToInt32(row["Hitemid"]);
+ string name = row[nameColumn].ToString();
+ dict[id] = name;
+ }
+ }
+
+ return dict;
+ }
+
+ // 鎵归噺鏌ヨ鎵规淇℃伅锛堣皟鐢ㄩ噾铦舵帴鍙o級
+ private Dictionary<int, string> BatchQueryBatchInfo(HashSet<int> batchIds)
+ {
+ var batchDict = new Dictionary<int, string>();
+
+ if (batchIds == null || batchIds.Count == 0)
+ return batchDict;
+
+ // 濡傛灉闇�瑕佸苟琛屾煡璇紝鍙互浣跨敤 Parallel.ForEach
+ // 浣嗘敞鎰忥細濡傛灉鎺ュ彛涓嶆敮鎸侀珮骞跺彂锛屽彲浠ユ敼涓洪『搴忔煡璇�
+ foreach (int batchId in batchIds)
+ {
+ try
+ {
+ // 鏋勫缓鏌ヨ鍙傛暟
+ var queryJson = $"{{\"Id\": {batchId}, \"IsSortBySeq\": \"false\"}}";
+
+ // 璋冪敤鎵规鏌ヨ鎺ュ彛
+ string result = InvokeHelper.View("BD_BatchMainFile", queryJson);
+
+ // 瑙f瀽杩斿洖鐨凧SON
+ var jsonObj = JObject.Parse(result);
+
+ // 鑾峰彇鎵规鍚嶇О锛堜粠Name鏁扮粍鐨勭涓�涓厓绱犵殑Value锛�
+ var nameArray = jsonObj["Result"]?["Result"]?["Name"] as JArray;
+ if (nameArray != null && nameArray.Count > 0)
+ {
+ string batchName = nameArray[0]["Value"]?.ToString();
+ if (!string.IsNullOrEmpty(batchName))
+ {
+ batchDict[batchId] = batchName;
+ }
+ else
+ {
+ // 濡傛灉Name鏁扮粍涓病鏈夊�硷紝灏濊瘯浠嶯umber瀛楁鑾峰彇
+ string number = jsonObj["Result"]?["Result"]?["Number"]?.ToString();
+ if (!string.IsNullOrEmpty(number))
+ {
+ batchDict[batchId] = number;
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ // 璁板綍閿欒鏃ュ織锛屼絾缁х画澶勭悊鍏朵粬鎵规
+ Console.WriteLine($"鏌ヨ鎵规淇℃伅澶辫触锛屾壒娆D: {batchId}, 閿欒: {ex.Message}");
+ // 濡傛灉鏌ヨ澶辫触锛屽彲浠ュ皢鎵规ID浣滀负榛樿鍊�
+ batchDict[batchId] = batchId.ToString();
+ }
+ }
+
+ return batchDict;
+ }
+
+ //JSON瀛楃涓插弬鏁�
+ public static string BuildDynamicQueryJson(string materialNumber = null, long FHStockId=0, long HOWNERID = 0)
+ {
+ // 鍒涘缓鍔ㄦ�佽繃婊ゆ潯浠跺垪琛�
+ var filterList = new List<object>();
+ if (HOWNERID!= 100038)
+ {
+ // 濡傛灉鏈夌墿鏂欑紪鐮侊紝娣诲姞鐗╂枡鏉′欢
+ if (!string.IsNullOrWhiteSpace(materialNumber))
+ {
+ filterList.Add(new
+ {
+ Left = "",
+ FieldName = "FHMaterID.FNumber",
+ Compare = "67", // 绛変簬
+ Value = materialNumber,
+ Right = "",
+ Logic = filterList.Count > 0 ? 1 : 0 // 濡傛灉鏈夊涓潯浠讹紝Logic=1琛ㄧずOR
+ });
+ }
+ // 濡傛灉鏈変粨搴撳悕绉帮紝娣诲姞浠撳簱鏉′欢
+ if (FHStockId != 0)
+ {
+ filterList.Add(new
+ {
+ Left = "",
+ FieldName = "FHStockId",
+ Compare = "67", // 鍖呭惈
+ Value = FHStockId,
+ Right = "",
+ Logic = filterList.Count > 0 ? 1 : 0 // 濡傛灉鏈夊涓潯浠讹紝Logic=1琛ㄧずOR
+ });
+ }
+ // 濡傛灉鏈夌粍缁嘔D锛屾坊鍔犵粍缁囨潯浠�
+ if (HOWNERID != 0)
+ {
+ filterList.Add(new
+ {
+ Left = "",
+ FieldName = "FStockOrgId",
+ Compare = "67", // 鍖呭惈
+ Value = HOWNERID, // 淇濇寔涔嬪墠鐨勭被鍨嬭浆鎹慨澶�
+ Right = "",
+ Logic = filterList.Count > 0 ? 1 : 0 // 濡傛灉鏈夊涓潯浠讹紝Logic=1琛ㄧずOR
+ });
+ }
+
+ // 鏋勫缓瀹屾暣鐨勬煡璇㈠弬鏁�
+ var queryParams = new
+ {
+ FormId = "STK_Inventory",
+ FieldKeys = "FMaterialId,FMaterialName,FModel,FStockUnitId,FBaseQty,FStockId,FStockLocId,FLot,FAuxPropId,FProduceDate,FExpiryDate,FStockOrgId",
+ FilterString = filterList
+ };
+ return JsonConvert.SerializeObject(queryParams);
+ }
+ else
+ {
+
+ //47 涓嶆敮鎸佷笂闈㈢殑鍔ㄦ�佽繃婊ゆ潯浠� 鏋勫缓瀹屾暣鐨勬煡璇㈠弬鏁�
+ var queryParams1 = new
+ {
+ FormId = "STK_Inventory",
+ FieldKeys = "FMaterialId,FMaterialName,FModel,FStockUnitId,FBaseQty,FStockId,FStockLocId,FLot,FAuxPropId,FProduceDate,FExpiryDate,FStockOrgId",
+ FilterString = ""
+ };
+ return JsonConvert.SerializeObject(queryParams1);
+ }
+
+
+
+ }
+
+ #endregion
+
+ //鍒锋柊琛ㄤ綋 杞﹂棿瀹氫綅 杩斿洖杞﹂棿鍗虫椂搴撳瓨搴撳瓨淇℃伅缃戦〉PDA鐗�
+ [Route("KF_ICInventory_WorkShopByMaterID/GetWorkShopICInventory")]
+ [HttpGet]
+ public object GetWorkShopICInventory(string HBarCode, long sHWHID, long sHSPID, long HOWNERID, string sWhere)
+ {
+ try
+ {
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
List<object> columnNameList = new List<object>();
- DataSet ds = oCN.RunProcReturn("exec h_p_KF_ICInventoryByMaterIDList1 '" + HBarCode + "'," + sHWHID + "," + sHSPID+","+ HOWNERID+",'"+ sWhere+"'", "h_p_KF_ICInventoryByMaterIDList");
+ DataSet ds = oCN.RunProcReturn("exec h_p_KF_ICInventory_WorkShopByMaterIDList '" + HBarCode + "'," + sHWHID + "," + sHSPID + "," + HOWNERID + ",'" + sWhere + "'", "h_p_KF_ICInventory_WorkShopByMaterIDList");
//娣诲姞鍒楀悕
foreach (DataColumn col in ds.Tables[0].Columns)
{
@@ -1108,6 +1488,196 @@
catch (Exception e)
{
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+
+ //杞﹂棿瀹氫綅 杞﹂棿涓嬫灦搴撳瓨淇℃伅鏌ヨ
+ [Route("KF_ICInventory_WorkShop/GetWorkShopXJICInventory")]
+ [HttpGet]
+ public object GetWorkShopXJICInventory(string HCarBarCode, string HEquipBarCode, string HProcExBillNo,string HMaterNumber, long HWHID, long HSPID,string sWhere)
+ {
+ try
+ {
+
+ SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+ List<object> columnNameList = new List<object>();
+ DataSet ds = oCN.RunProcReturn("exec h_p_KF_ICInventory_WorkShopByXJList '" + HCarBarCode + "','" + HEquipBarCode + "','" + HProcExBillNo + "','" + HMaterNumber + "'," + HWHID + "," + HSPID + ",'" + sWhere + "'", "h_p_KF_ICInventory_WorkShopByXJList");
+ //娣诲姞鍒楀悕
+ 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鍒楀璞$殑鍒楀悕
+ }
+
+ if (ds == null || ds.Tables[0].Rows.Count <= 0)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ else
+ {
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+ objJsonResult.data = ds.Tables[0];
+ objJsonResult.list = columnNameList;
+ return objJsonResult;
+ }
+ }
+ catch (Exception e)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+
+ #region 杞﹂棿瀹氫綅 杞﹂棿鏌ヨ鏉$爜鏄惁瀛樺湪
+ [Route("KF_ICInventory_WorkShop/SearchHBarCode")]
+ [HttpGet]
+ public object checkHBarCode_Batch(string HBarCode, string user, int HOrgID)
+ {
+ try
+ {
+ ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBill WITH(NOLOCK) where HBarCode='" + HBarCode + "'", "h_v_Gy_BarCodeBill");
+
+ //鍒ゆ柇鏉$爜鏄惁瀛樺湪鏉$爜妗f
+ if (ds.Tables[0].Rows.Count > 0)
+ {
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "[0000-1-037]鏍¢獙鎴愬姛";
+ objJsonResult.data = ds.Tables[0];
+ return objJsonResult;
+ }
+ else
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "[0000-1-010]娌℃湁杩斿洖浠讳綍璁板綍锛佸綋鍓嶆壒娆$爜鏃犲叆搴撲俊鎭妫�鏌ユ槸鍚︽壂閿�";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+
+ }
+ catch (Exception e)
+ {
+
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "[0000-1-010]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+
+ #endregion
+
+ #region 杞﹂棿瀹氫綅 鍒犻櫎鏉$爜搴撳瓨璁板綍
+ [Route("KF_ICInventory_WorkShop/ClearHBarCode")]
+ [HttpGet]
+ public object ClearHBarCode(string HBarCode, long HWHID, long HSPID, string user, int HOrgID)
+ {
+ try
+ {
+
+ //淇濆瓨鍚庢帶鍒�=========================================
+ ds = oCN.RunProcReturn($"exec h_p_KF_MaterialUpper_Clear '{HBarCode}','{HWHID}',{HSPID},'{user}',{HOrgID}", "h_p_KF_ICInventory_Clear");
+
+ //鍐欏叆鏃ュ織
+ ClsPub.Add_Log("", "鍒犻櫎椤圭洰锛岀墿鏂欎唬鐮侊細" + HBarCode + ",浠撲綅id锛�" + HSPID, user);
+
+ if (ds == null || ds.Tables[0].Rows.Count == 0)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鍒犻櫎澶辫触锛�";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鍒犻櫎澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+ objJsonResult.data = null;
+ return objJsonResult;
+
+ }
+ catch (Exception e)
+ {
+
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "[0000-1-010]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+
+ #endregion
+
+ //杞﹂棿瀹氫綅 杞﹂棿涓婁笅鏋舵椂闂存煡璇�
+ [Route("Kf_WorkShopICStockBill/List")]
+ [HttpGet]
+ public object Kf_WorkShopICStockBillList(string HBillType, string HCarBarCode, string HProcExBillNo, string HMaterNumber, long HWHID, long HSPID, string sWhere)
+ {
+ try
+ {
+
+ SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+ List<object> columnNameList = new List<object>();
+ if(sWhere!=null)
+ {
+ sWhere = sWhere.Replace("'", "''");
+ }
+ DataSet ds = oCN.RunProcReturn("exec h_p_KF_WorkShopICStockBillList '" + HBillType + "','" + HCarBarCode + "','" + HProcExBillNo + "','" + HMaterNumber + "'," + HWHID + "," + HSPID + ",'" + sWhere + "'", "h_p_KF_WorkShopICStockBillList");
+ //娣诲姞鍒楀悕
+ 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鍒楀璞$殑鍒楀悕
+ }
+
+ if (ds == null || ds.Tables[0].Rows.Count <= 0)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
+ objJsonResult.data = ds.Tables[0];
+ return objJsonResult;
+ }
+ else
+ {
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+ objJsonResult.data = ds.Tables[0];
+ objJsonResult.list = columnNameList;
+ return objJsonResult;
+ }
+ }
+ catch (Exception e)
+ {
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
@@ -2736,6 +3306,114 @@
}
#endregion
+ #region 宸ュ巶鏃ュ巻淇濆瓨锛堟壒閲忥級
+ [Route("MaterOutEntryReport/Sc_ShopCalendarSaveList")]
+ [HttpPost]
+ public object Sc_ShopCalendarSaveList([FromBody] JObject sMainSub)
+ {
+ try
+ {
+ var _value = sMainSub["sMainSub"].ToString();
+ string msg1 = _value.ToString();
+ oCN.BeginTran();
+ //淇濆瓨涓昏〃
+ objJsonResult = AddBillMainList(msg1);
+ if (objJsonResult.code == "0")
+ {
+ oCN.RollBack();
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = objJsonResult.Message;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ oCN.Commit();
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ 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;
+ }
+ }
+ public class ClsHSourceList
+ {
+ public long HItemID { get; set; }
+ }
+ public class ClsHWorkHourList
+ {
+ public DateTime date { get; set; }
+ public string week { get; set; }
+ public double workHours { get; set; }
+ }
+ public json AddBillMainList(string msg1)
+ {
+ string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+ string msg2 = sArray[0].ToString();//璧勬簮鍒楄〃
+ string msg3 = sArray[1].ToString();//鏁版嵁鍒楄〃
+ string user = sArray[2].ToString();
+
+ try
+ {
+ if (!DBUtility.ClsPub.Security_Log("Gy_PlanShifts_Edit", 1, false, user))
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ List<ClsHSourceList> HSourceList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsHSourceList>>(msg2);
+ List<ClsHWorkHourList> HWorkHourList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsHWorkHourList>>(msg3);
+ //閬嶅巻鏇存柊鏁版嵁
+ foreach (ClsHSourceList HSource in HSourceList)
+ {
+ long HSourceID = HSource.HItemID;
+ foreach (ClsHWorkHourList HWorkHour in HWorkHourList)
+ {
+ DateTime date = HWorkHour.date;
+ double workHours = HWorkHour.workHours;
+ ds = oCN.RunProcReturn("select * from Gy_PlanShifts where HDate='" + date + "' and HSourceID=" + HSourceID, "Gy_PlanShifts");
+ string sql = "";
+ if (ds.Tables[0].Rows.Count > 0)
+ {
+ sql = $"update Gy_PlanShifts set HOverTimes='" + workHours + "' where HDate ='" + date + "' and HSourceID=" + HSourceID;
+ }
+ else
+ {
+ sql = $"insert into Gy_PlanShifts(HDate,HSourceID,HShiftsID,HOverTimes,HClassCount," +
+ "HRemark,HUseFlag)values" +
+ $"('{date}','{HSourceID}',0,'{workHours}','1'" +
+ $",'','鏈娴�')";
+ }
+ oCN.RunProc(sql);
+ }
+ }
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = null;
+ 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 宸ュ巶鏃ュ巻鎵规敼涓婄彮宸ユ椂
[Route("Gy_PlanShifts/BulkWorkTime")]
[HttpGet]
--
Gitblit v1.9.1