From b3cbeec348e826813c176340f1b0010bb2ece2cd Mon Sep 17 00:00:00 2001 From: cnf <3200815559@qq.com> Date: 星期三, 12 二月 2025 16:13:55 +0800 Subject: [PATCH] 新增销售订单保存接口,销售退货通知单保存接口,销售发货通知单保存接口 --- MES.Service/service/PLM/PLMManager.cs | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 112 insertions(+), 3 deletions(-) diff --git a/MES.Service/service/PLM/PLMManager.cs b/MES.Service/service/PLM/PLMManager.cs index 315c03b..eb82984 100644 --- a/MES.Service/service/PLM/PLMManager.cs +++ b/MES.Service/service/PLM/PLMManager.cs @@ -7,9 +7,19 @@ public class PLMManager { - public List<BaseObject> RetrieveDrawings(string ItemNo) + public List<StdDocument> RetrieveDrawings(string ItemNo) { - return GetPlmCfgBase(ItemNo); + List<BaseObject> baseObjects = GetPlmCfgBase(ItemNo); + + List<RelatedObject> relatedObjects = GetPlmCfgRelatedObject(baseObjects[0].FID); + + // 妫�鏌ヨ繑鍥炵粨鏋滄槸鍚︿负绌� + if (relatedObjects == null || !relatedObjects.Any()) + { + throw new NotImplementedException("杩斿洖缁撴灉涓虹┖"); + } + List<StdDocument> stdDocuments = GetPlmStdDocument(relatedObjects); + return stdDocuments; } @@ -29,7 +39,7 @@ //string fieldKeys = "FCode,FFileId,FRelevantObject"; //string FilterString = "FID='-2146304'"; string fieldKeys = "FID,FCode,FName"; - string FilterString = "FCode='5.03.14.1414'"; + string FilterString = string.Format(@"FCode='{0}'", ItemNo); string OrderString = ""; int TopRowCount = 0; int StartRow = 0; @@ -59,4 +69,103 @@ return entity; }).ToList(); } + + public List<RelatedObject> GetPlmCfgRelatedObject(long? FRelatedObject) + { + //娉ㄦ剰 1锛氭澶勪笉鍐嶄娇鐢ㄥ弬鏁板舰寮忎紶鍏ョ敤鎴峰悕鍙婂瘑鐮佺瓑鏁忔劅淇℃伅锛屾敼涓哄湪鐧诲綍閰嶇疆鏂囦欢涓缃�� + //娉ㄦ剰 2锛氬繀椤诲厛閰嶇疆绗笁鏂圭郴缁熺櫥褰曟巿鏉冧俊鎭悗锛屽啀杩涜涓氬姟鎿嶄綔锛岃鎯呭弬鑰冨悇璇█鐗堟湰SDK浠嬬粛涓殑鐧诲綍閰嶇疆鏂囦欢璇存槑銆� + //璇诲彇閰嶇疆锛屽垵濮嬪寲SDK + K3CloudApi client = new K3CloudApi(); + //鐢ㄤ簬璁板綍缁撴灉 + StringBuilder Info = new StringBuilder(); + //涓氬姟瀵硅薄鏍囪瘑 + //string formId = "PLM_STD_DOCUMENT"; + string formId = "PLM_CFG_RELATEDOBJECT"; + DateTime dt = DateTime.Now; + //鏌ヨ瀛楁闆嗗悎锛屽嵆杩斿洖鍝簺鏁版嵁锛屼笉鑳戒负绌猴紝鏍规嵁涓嶅悓涓氬姟鍗曟嵁濉啓涓嶅悓鐨勫瓧娈靛悕锛屼互涓嬩粎涓虹ず渚� + //string fieldKeys = "FCode,FFileId,FRelevantObject"; + //string FilterString = "FID='-2146304'"; + string fieldKeys = "FID,FRE_FCode,FRelatedObject"; + string FilterString = string.Format(@"FRelatedObject='{0}'", FRelatedObject); + string OrderString = ""; + int TopRowCount = 0; + int StartRow = 0; + int Limit = 0; + + var param = new QueryParam() + { + FormId = formId, + FieldKeys = fieldKeys, + FilterString = FilterString, + OrderString = OrderString, + TopRowCount = TopRowCount, + StartRow = StartRow, + Limit = Limit + }; + //璋冪敤鎺ュ彛 + var result = client.ExecuteBillQuery(param.ToJson()); + + return result.Select(s => + { + var entity = new RelatedObject + { + FID = (long)s[0], + FRE_FCode = (string)s[1], + FRelatedObject = (long)s[2], + }; + return entity; + }).ToList(); + } + + public List<StdDocument> GetPlmStdDocument(List<RelatedObject> relatedObjects) + { + //娉ㄦ剰 1锛氭澶勪笉鍐嶄娇鐢ㄥ弬鏁板舰寮忎紶鍏ョ敤鎴峰悕鍙婂瘑鐮佺瓑鏁忔劅淇℃伅锛屾敼涓哄湪鐧诲綍閰嶇疆鏂囦欢涓缃�� + //娉ㄦ剰 2锛氬繀椤诲厛閰嶇疆绗笁鏂圭郴缁熺櫥褰曟巿鏉冧俊鎭悗锛屽啀杩涜涓氬姟鎿嶄綔锛岃鎯呭弬鑰冨悇璇█鐗堟湰SDK浠嬬粛涓殑鐧诲綍閰嶇疆鏂囦欢璇存槑銆� + //璇诲彇閰嶇疆锛屽垵濮嬪寲SDK + K3CloudApi client = new K3CloudApi(); + //鐢ㄤ簬璁板綍缁撴灉 + StringBuilder Info = new StringBuilder(); + //涓氬姟瀵硅薄鏍囪瘑 + string formId = "PLM_STD_DOCUMENT"; + DateTime dt = DateTime.Now; + //鏌ヨ瀛楁闆嗗悎锛屽嵆杩斿洖鍝簺鏁版嵁锛屼笉鑳戒负绌猴紝鏍规嵁涓嶅悓涓氬姟鍗曟嵁濉啓涓嶅悓鐨勫瓧娈靛悕锛屼互涓嬩粎涓虹ず渚� + string fieldKeys = "FID,FCode,FName,FPhysicalFileName,FFileId,FRelevantObject"; + // 鎻愬彇 FID 鍊� + var fidList = relatedObjects.Select(obj => obj.FID.ToString()).ToList(); + // 灏� FID 鍊肩敤閫楀彿鍒嗛殧锛屽苟鍖呰9鍦ㄥ崟寮曞彿涓� + string fids = string.Join(",", fidList.Select(fid => $"'{fid}'")); + // 鏋勫缓 FilterString + string FilterString = $"FID in ({fids})"; + string OrderString = ""; + int TopRowCount = 0; + int StartRow = 0; + int Limit = 0; + + var param = new QueryParam() + { + FormId = formId, + FieldKeys = fieldKeys, + FilterString = FilterString, + OrderString = OrderString, + TopRowCount = TopRowCount, + StartRow = StartRow, + Limit = Limit + }; + //璋冪敤鎺ュ彛 + var result = client.ExecuteBillQuery(param.ToJson()); + + return result.Select(s => + { + var entity = new StdDocument + { + FID = (long)s[0], + FCode = (string)s[1], + FName = (string)s[2], + FPhysicalFileName = (string)s[3], + FFileId = (string)s[4], + FRelevantObject = (string)s[5], + }; + return entity; + }).ToList(); + } } -- Gitblit v1.9.3