|
@@ -884,20 +884,20 @@ namespace IMCS.CCS.Services
|
|
|
|
|
|
}else if(deviceHeidenhain != null)
|
|
}else if(deviceHeidenhain != null)
|
|
{
|
|
{
|
|
- RequestHeidhData hdhReq = new RequestHeidhData();
|
|
|
|
- hdhReq.ServerUrl = deviceHeidenhain.ServerUrl;
|
|
|
|
- hdhReq.MachineName = deviceHeidenhain.UserName;
|
|
|
|
- hdhReq.Path = req.data.fileName;
|
|
|
|
- hdhReq.Type = OpcUaActionTypeEnum.Upload.ToString();
|
|
|
|
- var Result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, hdhUrlContext, hdhReq, null);
|
|
|
|
- ResponseHeidhData responseHeidhData = JsonConvert.DeserializeObject<ResponseHeidhData>(Result.Message);
|
|
|
|
- if (!Result.IsSuccess || !responseHeidhData.result)
|
|
|
|
- {
|
|
|
|
- Log.Instance.WriteLogAdd(ActionTypeEnum.UploadFile + "上传异常===>>" + JsonConvert.SerializeObject(req),
|
|
|
|
- EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
|
|
|
|
- responseData.result = "false";
|
|
|
|
- return responseData;
|
|
|
|
- }
|
|
|
|
|
|
+ //RequestHeidhData hdhReq = new RequestHeidhData();
|
|
|
|
+ //hdhReq.ServerUrl = deviceHeidenhain.ServerUrl;
|
|
|
|
+ //hdhReq.MachineName = deviceHeidenhain.UserName;
|
|
|
|
+ //hdhReq.Path = req.data.fileName;
|
|
|
|
+ //hdhReq.Type = OpcUaActionTypeEnum.Upload.ToString();
|
|
|
|
+ //var Result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, hdhUrlContext, hdhReq, null);
|
|
|
|
+ //ResponseHeidhData responseHeidhData = JsonConvert.DeserializeObject<ResponseHeidhData>(Result.Message);
|
|
|
|
+ //if (!Result.IsSuccess || !responseHeidhData.result)
|
|
|
|
+ //{
|
|
|
|
+ // Log.Instance.WriteLogAdd(ActionTypeEnum.UploadFile + "上传异常===>>" + JsonConvert.SerializeObject(req),
|
|
|
|
+ // EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
|
|
|
|
+ // responseData.result = "false";
|
|
|
|
+ // return responseData;
|
|
|
|
+ //}
|
|
|
|
|
|
//海德汉程序上传后,同时写入编号
|
|
//海德汉程序上传后,同时写入编号
|
|
CcsAction actionQuery = new CcsAction();
|
|
CcsAction actionQuery = new CcsAction();
|
|
@@ -954,6 +954,104 @@ namespace IMCS.CCS.Services
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 预上传文件,不插入回调
|
|
|
|
+ /// </summary>
|
|
|
|
+ public async Task<ResponseECSData> PreUploadFile(RequestData<UploadFileData> req)
|
|
|
|
+ {
|
|
|
|
+ ResponseECSData responseData = new ResponseECSData(req.taskId, req.taskNodeId);
|
|
|
|
+
|
|
|
|
+ try
|
|
|
|
+ {
|
|
|
|
+ List<Device> devices = _deviceService.GetDeviceAllList();
|
|
|
|
+ Device deviceFtp = devices.Where(x => x.Ip.Equals(req.url)
|
|
|
|
+ && x.ProtocolType.Equals(ProtocalTypeEnum.FTP.ToString())).FirstOrDefault();
|
|
|
|
+ Device deviceFanuc = devices.Where(x => x.Ip.Equals(req.url)
|
|
|
|
+ && x.ProtocolType.Equals(ProtocalTypeEnum.FANUC.ToString())).FirstOrDefault();
|
|
|
|
+ Device deviceHeidenhain = devices.Where(x => x.Ip.Equals(req.url)
|
|
|
|
+ && x.ProtocolType.Equals(ProtocalTypeEnum.HEIDEHAIN.ToString())).FirstOrDefault();
|
|
|
|
+
|
|
|
|
+ if (deviceFtp == null && deviceFanuc == null && deviceHeidenhain == null)
|
|
|
|
+ {
|
|
|
|
+ Log.Instance.WriteLogAdd(ActionTypeEnum.UploadFile + "设备已离线===>>" + JsonConvert.SerializeObject(req),
|
|
|
|
+ EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
|
|
|
|
+ responseData.result = "false";
|
|
|
|
+ return responseData;
|
|
|
|
+ }
|
|
|
|
+ //西门子系统上传
|
|
|
|
+ if (deviceFtp != null)
|
|
|
|
+ {
|
|
|
|
+ FtpClient ftpClient = new DeviceFtp().Connect(ftpUrlContext, ftpUserContext, ftpPwdContext);
|
|
|
|
+ ftpClient.Get(req.data.fileName, LocalPath, req.data.fileName);
|
|
|
|
+ ftpClient.DisConnect();
|
|
|
|
+ try
|
|
|
|
+ {
|
|
|
|
+ DeviceSFTP sftp = new DeviceSFTP(deviceFtp.Ip, deviceFtp.Port, deviceFtp.UserName, deviceFtp.Password);
|
|
|
|
+ bool ifcon = sftp.Connect();
|
|
|
|
+ if (ifcon)
|
|
|
|
+ {
|
|
|
|
+ sftp.Put(LocalPath + "\\" + req.data.fileName, req.data.remotePath + req.data.fileName);
|
|
|
|
+ sftp.Disconnect();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ catch (Exception exscp)
|
|
|
|
+ {
|
|
|
|
+ Log.Instance.WriteLogAdd(ActionTypeEnum.UploadFile + "上传异常,scp连接失败," + exscp.Message + "," + JsonConvert.SerializeObject(req),
|
|
|
|
+ EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
|
|
|
|
+ responseData.result = "false";
|
|
|
|
+ return responseData;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ else if (deviceFanuc != null)
|
|
|
|
+ {
|
|
|
|
+ Regex regex = new Regex(@"^(?<fpath>([a-zA-Z]:\\)([\s\.\-\w]+\\)*)(?<fname>[\w]+)(?<namext>(\.[\w]+)*)(?<suffix>\.[\w]+)");
|
|
|
|
+ Match result = regex.Match(req.data.fileName);
|
|
|
|
+ string strResult = result.Success ? result.Result("${fname}") + result.Result("${suffix}") : req.data.fileName;
|
|
|
|
+
|
|
|
|
+ string Url = fanucUrlContext + "?ip=" + deviceFanuc.Ip + "&port=" + deviceFanuc.Port + "&prgname=" + strResult;
|
|
|
|
+ //调用发那科上传接口
|
|
|
|
+ var Result = await _apiRequestService.RequestAsync(RequsetModeEnum.Get, Url + "&fun=" + ActionTypeEnum.UploadFile.ToString(), null, null);
|
|
|
|
+ if (!Result.IsSuccess)
|
|
|
|
+ {
|
|
|
|
+ Log.Instance.WriteLogAdd(ActionTypeEnum.UploadFile + "上传异常,scp连接失败," + Result.Message + "," + JsonConvert.SerializeObject(req),
|
|
|
|
+ EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
|
|
|
|
+ responseData.result = "false";
|
|
|
|
+ return responseData;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ else if (deviceHeidenhain != null)
|
|
|
|
+ {
|
|
|
|
+ RequestHeidhData hdhReq = new RequestHeidhData();
|
|
|
|
+ hdhReq.ServerUrl = deviceHeidenhain.ServerUrl;
|
|
|
|
+ hdhReq.MachineName = deviceHeidenhain.UserName;
|
|
|
|
+ hdhReq.Path = req.data.fileName;
|
|
|
|
+ hdhReq.Type = OpcUaActionTypeEnum.Upload.ToString();
|
|
|
|
+ var Result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, hdhUrlContext, hdhReq, null);
|
|
|
|
+ ResponseHeidhData responseHeidhData = JsonConvert.DeserializeObject<ResponseHeidhData>(Result.Message);
|
|
|
|
+ if (!Result.IsSuccess || !responseHeidhData.result)
|
|
|
|
+ {
|
|
|
|
+ Log.Instance.WriteLogAdd(ActionTypeEnum.UploadFile + "预上传异常===>>" + JsonConvert.SerializeObject(req),
|
|
|
|
+ EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
|
|
|
|
+ responseData.result = "false";
|
|
|
|
+ return responseData;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ Log.Instance.WriteLogAdd(ActionTypeEnum.UploadFile + "预上传成功===>>" + JsonConvert.SerializeObject(req),
|
|
|
|
+ EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
|
|
|
|
+ return responseData;
|
|
|
|
+ }
|
|
|
|
+ catch (Exception ex)
|
|
|
|
+ {
|
|
|
|
+ Log.Instance.WriteLogAdd(ActionTypeEnum.UploadFile + "预上传异常===>>" + ex.Message + JsonConvert.SerializeObject(req),
|
|
|
|
+ EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
|
|
|
|
+ responseData.result = "false";
|
|
|
|
+ return responseData;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 启动机床程序
|
|
/// 启动机床程序
|
|
/// </summary>
|
|
/// </summary>
|