| | |
| | | |
| | | 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; |
| | | } |
| | | |
| | | |
| | |
| | | //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; |
| | |
| | | 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 å¼ç¨éå·åéï¼å¹¶å
裹å¨åå¼å·ä¸ |
| | | 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(); |
| | | } |
| | | } |