| ¶Ô±ÈÐÂÎļþ |
| | |
| | |  |
| | | namespace MES.Service.Dto.webApi.PLM; |
| | | |
| | | public class BaseObject |
| | | { |
| | | //å®ä½ä¸»é® |
| | | public long? FID { get; set; } |
| | | //ç¼ç |
| | | public string? FCode { get; set; } |
| | | //åç§° |
| | | public string? FName { get; set; } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace MES.Service.Dto.webApi.PLM; |
| | | |
| | | public class RelatedObject |
| | | { |
| | | //å®ä½ä¸»é® |
| | | public long? FID { get; set; } |
| | | //ç©æç¼ç |
| | | public string? FRE_FCode { get; set; } |
| | | //ç¸å
³å¯¹è±¡ |
| | | public long? FRelatedObject { get; set; } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace MES.Service.Dto.webApi.PLM; |
| | | |
| | | public class StdDocument |
| | | { |
| | | //å®ä½ä¸»é® |
| | | public long? FID { get; set; } |
| | | //ç¼ç |
| | | public string? FCode { get; set; } |
| | | //åç§° |
| | | public string? FName { get; set; } |
| | | //ç©çæä»¶å |
| | | public string? FPhysicalFileName { get; set; } |
| | | //ç©çæä»¶ |
| | | public string? FFileId { get; set; } |
| | | //å
³è对象 转ç pdf |
| | | public string? FRelevantObject { get; set; } |
| | | } |
| | |
| | | </PropertyGroup> |
| | | |
| | | <ItemGroup> |
| | | <PackageReference Include="Masuit.Tools.Core" Version="2024.3.4"/> |
| | | <PackageReference Include="SqlSugarCore" Version="5.1.4.158"/> |
| | | <PackageReference Include="Masuit.Tools.Core" Version="2024.3.4" /> |
| | | <PackageReference Include="SqlSugarCore" Version="5.1.4.158" /> |
| | | </ItemGroup> |
| | | |
| | | <ItemGroup> |
| | | <Reference Include="Kingdee.CDP.WebApi.SDK"> |
| | | <HintPath>resources\Kingdee.CDP.WebApi.SDK.dll</HintPath> |
| | | </Reference> |
| | | </ItemGroup> |
| | | |
| | | </Project> |
| | |
| | | "MES.Service/1.0.0": { |
| | | "dependencies": { |
| | | "Masuit.Tools.Core": "2024.3.4", |
| | | "SqlSugarCore": "5.1.4.158" |
| | | "SqlSugarCore": "5.1.4.158", |
| | | "Kingdee.CDP.WebApi.SDK": "8.0.6.0" |
| | | }, |
| | | "runtime": { |
| | | "MES.Service.dll": {} |
| | |
| | | "fileVersion": "0.8.0.0" |
| | | } |
| | | } |
| | | }, |
| | | "Kingdee.CDP.WebApi.SDK/8.0.6.0": { |
| | | "runtime": { |
| | | "Kingdee.CDP.WebApi.SDK.dll": { |
| | | "assemblyVersion": "8.0.6.0", |
| | | "fileVersion": "8.0.6.0" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | |
| | | "sha512": "sha512-Z62eNBIu8E8YtbqlMy57tK3dV1+m2b9NhPeaYovB5exmLKvrGCqOhJTzrEUH5VyUWU6vwX3c1XHJGhW5HVs8dA==", |
| | | "path": "zstdsharp.port/0.8.0", |
| | | "hashPath": "zstdsharp.port.0.8.0.nupkg.sha512" |
| | | }, |
| | | "Kingdee.CDP.WebApi.SDK/8.0.6.0": { |
| | | "type": "reference", |
| | | "serviceable": false, |
| | | "sha512": "" |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using Kingdee.CDP.WebApi.SDK; |
| | | using MES.Service.Dto.webApi.PLM; |
| | | using System.Diagnostics; |
| | | using System.Text; |
| | | |
| | | namespace MES.Service.service.PLM; |
| | | |
| | | public class PLMManager |
| | | { |
| | | public List<StdDocument> RetrieveDrawings(string ItemNo) |
| | | { |
| | | List<BaseObject> baseObjects = GetPlmCfgBase(ItemNo); |
| | | Debug.WriteLine($"第ä¸å®æ´å
容ï¼JSONï¼: {Newtonsoft.Json.JsonConvert.SerializeObject(baseObjects, Newtonsoft.Json.Formatting.Indented)}"); |
| | | |
| | | // æ£æ¥è¿åç»ææ¯å¦ä¸ºç©º |
| | | if (baseObjects == null || !baseObjects.Any()) |
| | | { |
| | | throw new NotImplementedException("è¿åç»æä¸ºç©º"); |
| | | } |
| | | else |
| | | { |
| | | List<RelatedObject> relatedObjects = GetPlmCfgRelatedObject(baseObjects[0].FID); |
| | | Debug.WriteLine($"第äºå®æ´å
容ï¼JSONï¼: {Newtonsoft.Json.JsonConvert.SerializeObject(relatedObjects, Newtonsoft.Json.Formatting.Indented)}"); |
| | | |
| | | // æ£æ¥è¿åç»ææ¯å¦ä¸ºç©º |
| | | if (relatedObjects == null || !relatedObjects.Any()) |
| | | { |
| | | throw new NotImplementedException("è¿åç»æä¸ºç©º"); |
| | | } |
| | | List<StdDocument> stdDocuments = GetPlmStdDocument(relatedObjects); |
| | | return stdDocuments; |
| | | } |
| | | |
| | | } |
| | | |
| | | #region 1.éè¿ç©æç¼ç ï¼éè¦å¯ä¸ï¼è·åç©æid |
| | | public List<BaseObject> GetPlmCfgBase(string ItemNo) |
| | | { |
| | | //注æ 1ï¼æ¤å¤ä¸å使ç¨åæ°å½¢å¼ä¼ å
¥ç¨æ·ååå¯ç çææä¿¡æ¯ï¼æ¹ä¸ºå¨ç»å½é
ç½®æä»¶ä¸è®¾ç½®ã |
| | | //注æ 2ï¼å¿
é¡»å
é
ç½®ç¬¬ä¸æ¹ç³»ç»ç»å½ææä¿¡æ¯åï¼åè¿è¡ä¸å¡æä½ï¼è¯¦æ
åèåè¯è¨çæ¬SDKä»ç»ä¸çç»å½é
ç½®æä»¶è¯´æã |
| | | //读åé
ç½®ï¼åå§åSDK |
| | | K3CloudApi client = new K3CloudApi(); |
| | | //ç¨äºè®°å½ç»æ |
| | | StringBuilder Info = new StringBuilder(); |
| | | //ä¸å¡å¯¹è±¡æ è¯ |
| | | //string formId = "PLM_STD_DOCUMENT"; |
| | | string formId = "PLM_CFG_BASE"; |
| | | DateTime dt = DateTime.Now; |
| | | //æ¥è¯¢å段éåï¼å³è¿ååªäºæ°æ®ï¼ä¸è½ä¸ºç©ºï¼æ ¹æ®ä¸åä¸å¡åæ®å¡«åä¸åçåæ®µåï¼ä»¥ä¸ä»
ä¸ºç¤ºä¾ |
| | | //string fieldKeys = "FCode,FFileId,FRelevantObject"; |
| | | //string FilterString = "FID='-2146304'"; |
| | | string fieldKeys = "FID,FCode,FName"; |
| | | string FilterString = string.Format(@"FCode='{0}'", ItemNo); |
| | | 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()); |
| | | Debug.WriteLine($"第ä¸ä¸ªå
ç´ å
容: {result}"); |
| | | |
| | | return result.Select(s => |
| | | { |
| | | var entity = new BaseObject |
| | | { |
| | | FID = (long)s[0], |
| | | FCode = (string)s[1], |
| | | FName = (string)s[2], |
| | | }; |
| | | return entity; |
| | | }).ToList(); |
| | | } |
| | | #endregion |
| | | |
| | | #region 2.éè¿ç©æidè·åç¸å
³å¯¹è±¡ãä¸è½½éè¦çææ¡£ãçid |
| | | 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()); |
| | | Debug.WriteLine(result); |
| | | |
| | | return result.Select(s => |
| | | { |
| | | var entity = new RelatedObject |
| | | { |
| | | FID = (long)s[0], |
| | | FRE_FCode = (string)s[1], |
| | | FRelatedObject = (long)s[2], |
| | | }; |
| | | return entity; |
| | | }).ToList(); |
| | | } |
| | | #endregion |
| | | |
| | | #region 3.æ ¹æ®ææ¡£idè·åææ¡£ç©çæä»¶id |
| | | 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(); |
| | | } |
| | | #endregion |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using Newtonsoft.Json.Linq; |
| | | using System.Net; |
| | | using System.Text; |
| | | |
| | | namespace ConsoleApp1 |
| | | { |
| | | #region 1.æ ¹æ®ææ¡£ç©çæä»¶idè·åææ¡£æµæ°æ® |
| | | public class WarehouseDownloadDoc() |
| | | { |
| | | private string _cloudUrl = "http://192.168.0.208/k3cloud"; |
| | | private string _warehouse = "http://192.168.0.208/CloudPLMWarehouse"; |
| | | |
| | | #region ææ¡£æå¡å¨ä¸ä¸æ |
| | | private string WarehouseCTX |
| | | { |
| | | get |
| | | { |
| | | //string json = "{\"ap1\":{ \"AcctID\":\"" + "68044981e73323" + "\",\"Username\":\"广深\",\"Password\":\"gs@123456\",\"Lcid\":2052,\"AuthenticateType\":1,\"PasswordIsEncrypted\":\"false\",\"ClientInfo\":{\"ClientType\":8}}"; |
| | | string json = "{\"ap1\":{ \"AcctID\":\"" + "66aeecbb0f0a04" + "\",\"Username\":\"demo1\",\"Password\":\"112233\",\"Lcid\":2052,\"AuthenticateType\":1,\"PasswordIsEncrypted\":\"false\",\"ClientInfo\":{\"ClientType\":8}}"; |
| | | var resp = GetResponse("http://192.168.0.208/k3cloud/Kingdee.BOS.ServiceFacade.ServicesStub.User.UserService.ValidateLoginInfo.common.kdsvc", json, new Dictionary<string, string>()); |
| | | string ret = (new StreamReader(resp.GetResponseStream(), Encoding.UTF8)).ReadToEnd(); |
| | | var result = JObject.Parse(ret)["Context"]; |
| | | string token = result["UserToken"].ToString(); |
| | | var warehouseCtx = string.Format("LoginUrl={0}&KDServiceSessionId={1}", _cloudUrl, JObject.Parse(ret)["KDSVCSessionId"].ToString());//å®å
¨æ°æ¹å¼ |
| | | return Convert.ToBase64String(Encoding.UTF8.GetBytes(warehouseCtx)); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region ç©çæä»¶id |
| | | private string GetFileId(string fileId) |
| | | { |
| | | return Convert.ToBase64String(Encoding.UTF8.GetBytes(fileId)); |
| | | } |
| | | #endregion |
| | | |
| | | #region çµåä»è®¿é®åè¯ |
| | | private string Token |
| | | { |
| | | get |
| | | { |
| | | var token = Guid.NewGuid().ToString(); |
| | | return token; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region åéè¯·æ± |
| | | public Stream SendRequest(string op, string fileId) |
| | | { |
| | | var header = new Dictionary<string, string>() |
| | | { |
| | | {"FileID" ,GetFileId(fileId) }, |
| | | { "CTX",WarehouseCTX}, |
| | | { "token", Token }, |
| | | { "PLM_ACCESS_TYPE","pure" } |
| | | }; |
| | | return PostDataViaHttpWebRequest(RequestUrl(op), string.Empty, header, !op.Equals("Download")); |
| | | } |
| | | #endregion |
| | | |
| | | #region 请æ±çURL |
| | | private string RequestUrl(string op) |
| | | { |
| | | return _warehouse + "/" + op; |
| | | } |
| | | #endregion |
| | | |
| | | #region è·åååº |
| | | private HttpWebResponse GetResponse(string url, string bodyJson, Dictionary<string, string> header) |
| | | { |
| | | byte[] data = Encoding.UTF8.GetBytes(bodyJson); |
| | | |
| | | HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); |
| | | request.Method = WebRequestMethods.Http.Post; |
| | | request.ContentType = "application/json"; |
| | | request.ContentLength = data.Length; |
| | | if (header != null) |
| | | { |
| | | foreach (var p in header) |
| | | { |
| | | request.Headers.Add(p.Key, p.Value); |
| | | } |
| | | } |
| | | |
| | | using (Stream reqStream = request.GetRequestStream()) |
| | | { |
| | | reqStream.Write(data, 0, data.Length); |
| | | reqStream.Close(); |
| | | } |
| | | |
| | | HttpWebResponse resp = null; |
| | | try |
| | | { |
| | | resp = (HttpWebResponse)request.GetResponse(); |
| | | } |
| | | catch (WebException ex) |
| | | { |
| | | var res = ex.Response; |
| | | if (res != null) |
| | | { |
| | | string statusBase64 = ((HttpWebResponse)ex.Response).StatusDescription;//base64ç¼ç åçæ¥éä¿¡æ¯ |
| | | } |
| | | } |
| | | return resp; |
| | | } |
| | | #endregion |
| | | |
| | | #region ä¿åæä»¶å°æ¬å° |
| | | /*private void PostDataViaHttpWebRequest(string url, string bodyJson, Dictionary<string, string> header, bool isGetContent) |
| | | { |
| | | |
| | | var resp = GetResponse(url, bodyJson, header); |
| | | var resultJson = string.Empty; |
| | | Stream stream = File.Open("D://DownloadDocDemo.pdf", FileMode.OpenOrCreate); |
| | | int packageSize = 1024 * 1024; |
| | | byte[] buffer = new byte[packageSize]; |
| | | using (stream) |
| | | { |
| | | using (Stream outputStream = resp.GetResponseStream()) |
| | | { |
| | | int readLength = 0; |
| | | while ((readLength = outputStream.Read(buffer, 0, packageSize)) > 0) |
| | | { |
| | | stream.Write(buffer, 0, readLength); |
| | | stream.Flush(); |
| | | } |
| | | outputStream.Close(); |
| | | } |
| | | stream.Close(); |
| | | } |
| | | }*/ |
| | | #endregion |
| | | |
| | | #region è¿åæä»¶æµç»å端 |
| | | private Stream PostDataViaHttpWebRequest(string url, string bodyJson, Dictionary<string, string> header, bool isGetContent) |
| | | { |
| | | |
| | | var resp = GetResponse(url, bodyJson, header); |
| | | |
| | | return resp.GetResponseStream(); // ç´æ¥è¿åååºæµ |
| | | } |
| | | #endregion |
| | | } |
| | | #endregion |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | /*{ |
| | | "Logging": { |
| | | "LogLevel": { |
| | | "Default": "Information", |
| | | "Microsoft": "Warning", |
| | | "Microsoft.Hosting.Lifetime": "Information" |
| | | } |
| | | }, |
| | | "AllowedHosts": "*", |
| | | "Version": "1.0.0", |
| | | "X-KDApi-AcctID": "68044981e73323", |
| | | "X-KDApi-UserName": "广深", |
| | | "X-KDApi-AppID": "310990_x3cJ16Do6vC539TFW+6pRy1E6MQ+xooO", |
| | | "X-KDApi-AppSec": "817a815631c24517b931ecebe8f8eae1", |
| | | "X-KDApi-LCID": "2052", |
| | | "X-KDApi-ServerUrl": "http://47.96.178.105/k3cloud" |
| | | }*/ |
| | | |
| | | |
| | | { |
| | | "Logging": { |
| | | "LogLevel": { |
| | | "Default": "Information", |
| | | "Microsoft": "Warning", |
| | | "Microsoft.Hosting.Lifetime": "Information" |
| | | } |
| | | }, |
| | | "AllowedHosts": "*", |
| | | "Version": "1.0.0", |
| | | "X-KDApi-AcctID": "66aeecbb0f0a04", |
| | | "X-KDApi-UserName": "Administrator", |
| | | "X-KDApi-AppID": "326508_T/boQ+iFVqqZ3bVO172r2bTJ3q39wtoG", |
| | | "X-KDApi-AppSec": "0d289241fecc475e8525261a20bbd11c", |
| | | "X-KDApi-LCID": "2052", |
| | | "X-KDApi-ServerUrl": "http://192.168.0.208/k3cloud" |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using ConsoleApp1; |
| | | using MES.Service.service.PLM; |
| | | using MES.Service.util; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using System.Dynamic; |
| | | using System.IO; |
| | | using System.Net.Http.Headers; |
| | | |
| | | namespace MESApplication.Controllers.PLM; |
| | | |
| | | |
| | | [ApiController] |
| | | [Route("api/PLM")] |
| | | public class PLMController : ControllerBase |
| | | { |
| | | private readonly PLMManager m = new(); |
| | | private readonly WarehouseDownloadDoc wdd = new(); |
| | | |
| | | //RetrieveDrawings è°åå¾çº¸ |
| | | [HttpPost("RetrieveDrawings")] |
| | | public ResponseResult RetrieveDrawings(string ItemNo) |
| | | { |
| | | try |
| | | { |
| | | dynamic resultInfos = new ExpandoObject(); |
| | | resultInfos = m.RetrieveDrawings(ItemNo); |
| | | |
| | | return new ResponseResult |
| | | { |
| | | status = 0, |
| | | message = "OK", |
| | | data = resultInfos |
| | | }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return ResponseResult.ResponseError(ex); |
| | | } |
| | | } |
| | | |
| | | //RetrieveImageFile è°åä¸ä¼ å°æå¡å¨çæææä»¶ |
| | | [HttpGet("GetImageNames")] |
| | | public IActionResult GetImageNames(string releaseNo) |
| | | { |
| | | // æ¼æ¥æ¬å°æä»¶ç³»ç»è·¯å¾ |
| | | string basePath = @"D:\MES_FTP\IQC\"; // æå¡å¨Dçä¸çåºç¡è·¯å¾ |
| | | string folderPath = Path.Combine(basePath, releaseNo); // å¨ææ¼æ¥åå·å¯¹åºçæä»¶å¤¹è·¯å¾ |
| | | |
| | | // æ£æ¥æä»¶å¤¹æ¯å¦åå¨ |
| | | if (!Directory.Exists(folderPath)) |
| | | { |
| | | return NotFound($"æä»¶å¤¹ {folderPath} ä¸åå¨ãè¯·æ£æ¥è·¯å¾æ¯å¦æ£ç¡®ã"); |
| | | } |
| | | |
| | | // è·åæä»¶å¤¹ä¸çææå¾çæä»¶åç§° |
| | | string[] imageExtensions = { ".jpg", ".jpeg", ".png", ".gif", ".bmp" }; |
| | | // è·åæä»¶ç宿´è·¯å¾ï¼å¹¶è¿åä¸ä¸ªå
嫿件åå宿´è·¯å¾ç对象 |
| | | var imageFiles = Directory.GetFiles(folderPath) |
| | | .Where(file => imageExtensions.Any(ext => file.ToLower().EndsWith(ext))) |
| | | .Select(file => new |
| | | { |
| | | FileName = Path.GetFileName(file), // æä»¶å |
| | | FilePath = file, |
| | | FileBasePath = ConvertFileToBase64(file) // æä»¶ç Base64 æ°æ® // æä»¶ç宿´è·¯å¾ |
| | | }); |
| | | |
| | | return Ok(new { success = true, data = imageFiles }); |
| | | } |
| | | private string ConvertFileToBase64(string filePath) |
| | | { |
| | | byte[] fileBytes = System.IO.File.ReadAllBytes(filePath); |
| | | return Convert.ToBase64String(fileBytes); |
| | | } |
| | | |
| | | [HttpPost("DeleteImageFile")] |
| | | public IActionResult DeleteImageFile([FromQuery] string filePath) |
| | | { |
| | | // æ£æ¥æä»¶è·¯å¾æ¯å¦ä¸ºç©º |
| | | if (string.IsNullOrWhiteSpace(filePath)) |
| | | { |
| | | return BadRequest("æä»¶è·¯å¾ä¸è½ä¸ºç©º"); |
| | | } |
| | | |
| | | // ç¡®ä¿è·¯å¾æ¯ç»å¯¹è·¯å¾ï¼å¯ä»¥æ ¹æ®éè¦è°æ´ï¼ |
| | | filePath = Path.GetFullPath(filePath); |
| | | |
| | | // æ£æ¥æä»¶æ¯å¦åå¨ |
| | | if (!System.IO.File.Exists(filePath)) |
| | | { |
| | | return NotFound("æä»¶ä¸åå¨"); |
| | | } |
| | | |
| | | try |
| | | { |
| | | // å 餿件 |
| | | System.IO.File.Delete(filePath); |
| | | return Ok("æä»¶å 餿å"); |
| | | } |
| | | catch (System.Exception ex) |
| | | { |
| | | // æè·å¼å¸¸å¹¶è¿åéè¯¯ä¿¡æ¯ |
| | | return StatusCode(500, $"å 餿件æ¶åçé误: {ex.Message}"); |
| | | } |
| | | } |
| | | |
| | | //RetrieveDrawings è°åå¾çº¸ |
| | | [HttpPost("OpenDrawings")] |
| | | public IActionResult OpenDrawings(string fileId,string fName) |
| | | { |
| | | try |
| | | { |
| | | var resultInfos = wdd.SendRequest("Download", fileId); |
| | | |
| | | return File(resultInfos, "application/octet-stream", fName); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return StatusCode(500, new ResponseResult |
| | | { |
| | | status = 1, |
| | | message = ex.Message, |
| | | data = null |
| | | }); |
| | | } |
| | | } |
| | | |
| | | //MP-Oåå-83070100066æ ·å1-83070100068æ ·å2.pdf |
| | | //e18f53b6-6615-8140-11ee-423d1dd32487 |
| | | //RetrieveDrawings è°åå¾çº¸ getæ¹å¼ |
| | | [HttpGet("OpenDrawingsGet")] |
| | | public IActionResult OpenDrawingsGet(string fileId, string fName) |
| | | { |
| | | try |
| | | { |
| | | var resultInfos = wdd.SendRequest("Download", fileId); |
| | | |
| | | // æ·»å Content-Dispositionååºå¤´ |
| | | var cd = new ContentDispositionHeaderValue("attachment"); |
| | | cd.FileNameStar = fName; // èªå¨å¤çç¼ç |
| | | Response.Headers.Add("Content-Disposition", cd.ToString()); |
| | | |
| | | return File(resultInfos, "application/octet-stream", fName); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return StatusCode(500, new ResponseResult |
| | | { |
| | | status = 1, |
| | | message = ex.Message, |
| | | data = null |
| | | }); |
| | | } |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | /*{ |
| | | "Logging": { |
| | | "LogLevel": { |
| | | "Default": "Information", |
| | | "Microsoft": "Warning", |
| | | "Microsoft.Hosting.Lifetime": "Information" |
| | | } |
| | | }, |
| | | "AllowedHosts": "*", |
| | | "Version": "1.0.0", |
| | | "X-KDApi-AcctID": "68044981e73323", |
| | | "X-KDApi-UserName": "广深", |
| | | "X-KDApi-AppID": "310990_x3cJ16Do6vC539TFW+6pRy1E6MQ+xooO", |
| | | "X-KDApi-AppSec": "817a815631c24517b931ecebe8f8eae1", |
| | | "X-KDApi-LCID": "2052", |
| | | "X-KDApi-ServerUrl": "http://47.96.178.105/k3cloud" |
| | | }*/ |
| | | |
| | | |
| | | { |
| | | "Logging": { |
| | | "LogLevel": { |
| | | "Default": "Information", |
| | | "Microsoft": "Warning", |
| | | "Microsoft.Hosting.Lifetime": "Information" |
| | | } |
| | | }, |
| | | "AllowedHosts": "*", |
| | | "Version": "1.0.0", |
| | | "X-KDApi-AcctID": "6533e4ab79156b", |
| | | "X-KDApi-UserName": "æ¥å£ä¼ è¾", |
| | | "X-KDApi-AppID": "312912_623D2YuEyMAeQ59HTY5qywUM1h3a5qPp", |
| | | "X-KDApi-AppSec": "fce5af4fdb1a4640a07f277b3da583ce", |
| | | "X-KDApi-LCID": "2052", |
| | | "X-KDApi-ServerUrl": "http://47.96.178.105/k3cloud" |
| | | } |
| | |
| | | "SqlSugarCore": "5.1.4.158" |
| | | }, |
| | | "runtime": { |
| | | "MES.Service.dll": {} |
| | | "MES.Service.dll": { |
| | | "assemblyVersion": "1.0.0.0", |
| | | "fileVersion": "1.0.0.0" |
| | | } |
| | | } |
| | | }, |
| | | "Kingdee.CDP.WebApi.SDK/8.0.6.0": { |
| | | "runtime": { |
| | | "Kingdee.CDP.WebApi.SDK.dll": { |
| | | "assemblyVersion": "8.0.6.0", |
| | | "fileVersion": "8.0.6.0" |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | "type": "project", |
| | | "serviceable": false, |
| | | "sha512": "" |
| | | }, |
| | | "Kingdee.CDP.WebApi.SDK/8.0.6.0": { |
| | | "type": "reference", |
| | | "serviceable": false, |
| | | "sha512": "" |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | {"Version":1,"ManifestType":"Build","Endpoints":[]} |