已添加1个文件
已重命名1个文件
已修改18个文件
| | |
| | | |
| | | public IRepository<Dt_StationManger> Repository => BaseDal; |
| | | |
| | | public Dt_StationManger GetStationInfo(string fromLocationCode) |
| | | { |
| | | return BaseDal.QueryFirst(x => x.StationCode == fromLocationCode); |
| | | } |
| | | |
| | | public Dt_StationManger GetInStationInfo(string fromLocationCode) |
| | | { |
| | | return BaseDal.QueryFirst(x => x.StationCode == fromLocationCode && x.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt()); |
| | | return BaseDal.QueryFirst(x => x.StationCode == fromLocationCode && (x.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt() || x.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt())); |
| | | } |
| | | |
| | | /// <summary> |
| ÎļþÃû´Ó ´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/RgvCommand.cs ÐÞ¸Ä |
| | |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_QuartzJob.DeviceBase; |
| | | |
| | | namespace WIDESEAWCS_Tasks |
| | | namespace WIDESEAWCS_Common |
| | | { |
| | | |
| | | public enum QualityInspectionCommandEnum |
| | |
| | | /// </summary> |
| | | public class FOURBOTnewMovePodTask |
| | | { |
| | | public string warehouseID { get; set; } = "HETU"; |
| | | public string clientCode { get; set; } = "WCS"; |
| | | public string requestID { get; set; } = DateTime.Now.ToString("yyyyMMddHHmmss"); |
| | | /// <summary> |
| | | /// ä¼å
级 |
| | | /// </summary> |
| | |
| | | |
| | | namespace WIDESEAWCS_DTO.RGV.FOURBOT |
| | | { |
| | | public class RGVReturnInfo |
| | | { |
| | | public long messageID { get; set; } |
| | | public int messageType { get; set; } |
| | | public string warehouseID { get; set; } |
| | | public string createTime { get; set; } |
| | | public FOURBOTTaskStatusNotify content { get; set; } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åå车任å¡ç¶ææ´æ°æ¶æ¯ |
| | | /// </summary> |
| | |
| | | /// ç«ç¹ç¼ç |
| | | /// </summary> |
| | | public string stationCode { get; set; } |
| | | public string warehouseID { get; set; } = "HETU"; |
| | | public string clientCode { get; set; } = "WCS"; |
| | | public string requestID { get; set; } = DateTime.Now.ToString("yyyyMMddHHmmss"); |
| | | |
| | | /// <summary> |
| | | /// æçå· |
| | |
| | | /// <summary> |
| | | /// æçè§æ ¼åç§° |
| | | /// </summary> |
| | | public string layoutID { get; set; } |
| | | public string layoutID { get; set; } = "609284257625407509"; |
| | | |
| | | /// <summary> |
| | | /// æçéé(kg) |
| | |
| | | { |
| | | public IRepository<Dt_StationManger> Repository { get; } |
| | | /// <summary> |
| | | /// è·åç«å°ä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="fromLocationCode"></param> |
| | | /// <returns></returns> |
| | | Dt_StationManger GetStationInfo(string fromLocationCode); |
| | | /// <summary> |
| | | /// è·åå
¥åºç«å° |
| | | /// </summary> |
| | | /// <param name="fromLocationCode"></param> |
| | |
| | | /// <param name="deviceTypeEnum"></param> |
| | | /// <param name="locationStatusEnum"></param> |
| | | /// <returns></returns> |
| | | WebResponseContent UpdateLocationStatus(Dt_Task task, DeviceTypeEnum deviceTypeEnum, LocationStatusEnum locationStatusEnum); |
| | | WebResponseContent UpdateLocationStatus(string locationCode,string palletCode, DeviceTypeEnum deviceTypeEnum, LocationStatusEnum locationStatusEnum); |
| | | |
| | | |
| | | WebResponseContent ModifyWMSLayoutZone(WMSUpdateLocationArea wMSUpdateLocationArea); |
| | |
| | | public int StationType { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 对åºåå车ç¹ID |
| | | /// 对åºåå车å¤å½¢æ£æµç¹ID |
| | | /// </summary> |
| | | [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "对åºåå车ç¹ID")] |
| | | [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "对åºåå车å¤å½¢æ£æµç¹ID")] |
| | | public string RGVStationCode { get; set; } |
| | | |
| | | /// <summary> |
| | |
| | | [SugarColumn(IsNullable = false, ColumnDescription = "ç«å°æ¯å¦å¯ç¨")] |
| | | public int IsOccupied { get; set; } |
| | | /// <summary> |
| | | /// 夿³¨(å¤å½¢æ£æµç¹ID) |
| | | /// 夿³¨ |
| | | /// </summary> |
| | | [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "夿³¨")] |
| | | public string Remark { get; set; } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "version": 1, |
| | | "isRoot": true, |
| | | "tools": { |
| | | "dotnet-ef": { |
| | | "version": "10.0.3", |
| | | "commands": [ |
| | | "dotnet-ef" |
| | | ] |
| | | } |
| | | } |
| | | } |
| | |
| | | /// </summary> |
| | | /// <param name="AreaCode">åºåå·</param> |
| | | /// <returns></returns> |
| | | [HttpPost, Route("QueryStation"), AllowAnonymous] |
| | | [HttpGet, HttpPost, Route("QueryStation"), AllowAnonymous] |
| | | public WMSReturn QueryStation(string AreaCode) |
| | | { |
| | | WebResponseContent content = _taskService.LocationInquiry(AreaCode); |
| | |
| | | <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration> |
| | | <LastUsedPlatform>Any CPU</LastUsedPlatform> |
| | | <PublishProvider>FileSystem</PublishProvider> |
| | | <PublishUrl>bin\Release\net6.0\publish\</PublishUrl> |
| | | <PublishUrl>E:\IISText\GaoPu</PublishUrl> |
| | | <WebPublishMethod>FileSystem</WebPublishMethod> |
| | | <_TargetId>Folder</_TargetId> |
| | | <SiteUrlToLaunchAfterPublish /> |
| | | <TargetFramework>net6.0</TargetFramework> |
| | | <ProjectGuid>487fa45b-ea1a-4aca-bb5b-0f6708f462c0</ProjectGuid> |
| | | <SelfContained>false</SelfContained> |
| | | </PropertyGroup> |
| | | </Project> |
| | |
| | | #region 6 è£åªéè´§ |
| | | public WebResponseContent CJCarryTaske(TaskDTO taskDTO, int taskType) |
| | | { |
| | | try |
| | | { |
| | | |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new Exception(ex.Message); |
| | | } |
| | | } |
| | | #endregion |
| | | } |
| | | } |
| | |
| | | TaskType = taskType, |
| | | SourceAddress = taskDTO.fromLocationCode, |
| | | CurrentAddress = taskDTO.fromLocationCode, |
| | | NextAddress = stationManger.Remark,//æ¾å
¥åºç«å°å¯¹åºçå¤å½¢æ£æµç¼å· |
| | | NextAddress = stationManger.RGVStationCode,//æ¾å
¥åºç«å°å¯¹åºçå¤å½¢æ£æµç¼å· |
| | | TargetAddress = "", |
| | | //Remark = taskDTO.toAreaCode, |
| | | Creater = "WMS", |
| | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Db.Ado.RollbackTran(); |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | //Db.Ado.RollbackTran(); |
| | | throw new Exception(ex.Message); |
| | | } |
| | | } |
| | | /// <summary> |
| | |
| | | Creater = "WMS", |
| | | }; |
| | | rGVLocationInfo.LocationStatus = LocationStatusEnum.OutLock.ObjToInt(); |
| | | try |
| | | { |
| | | Db.Ado.BeginTran(); |
| | | BaseDal.AddData(dt_Task); |
| | | _rGVLocationInfoService.Repository.UpdateData(rGVLocationInfo); |
| | | Db.Ado.CommitTran(); |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Db.Ado.RollbackTran(); |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | throw new Exception(ex.Message); |
| | | } |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new Exception(ex.Message); |
| | | } |
| | | } |
| | | #endregion |
| | |
| | | using Magicodes.IE.Core; |
| | | using Autofac.Core; |
| | | using Magicodes.IE.Core; |
| | | using NetTaste; |
| | | using System; |
| | | using System.Collections.Generic; |
| | |
| | | using WIDESEAWCS_DTO.RGV.FOURBOT; |
| | | using WIDESEAWCS_DTO.WMS; |
| | | using WIDESEAWCS_Model.Models; |
| | | using WIDESEAWCS_QuartzJob; |
| | | |
| | | namespace WIDESEAWCS_TaskInfoService |
| | | { |
| | |
| | | |
| | | WebResponseContent content = new WebResponseContent(); |
| | | GALAXISUpdateTaskStatus gALAXIS = new(); |
| | | FOURBOTTaskStatusNotify Rgv = new();//åå车任å¡ç¶æéç¥ |
| | | RGVReturnInfo Rgv = new();//åå车任å¡ç¶æéç¥ |
| | | HIKROBOTTaskProcessReport hIKROBOT = new();//海康æºå¨äºº |
| | | try |
| | | { |
| | |
| | | TaskFromCompleted(task, deviceTypeEnum); |
| | | break; |
| | | default: |
| | | task.TaskState = ReturnTaskStatus(gALAXIS.taskStatus, deviceTypeEnum); |
| | | task.TaskState = ReturnTaskStatus(hIKROBOT.extra.values.method, deviceTypeEnum); |
| | | BaseDal.UpdateData(task); |
| | | break; |
| | | } |
| | | } |
| | | else //åå车 |
| | | { |
| | | Rgv = TaskDTO.Serialize().DeserializeObject<FOURBOTTaskStatusNotify>(); |
| | | Rgv = TaskDTO.Serialize().DeserializeObject<RGVReturnInfo>(); |
| | | if (Rgv==null) throw new Exception("åæ°è½¬æ¢å¤±è´¥ï¼"); |
| | | var task = BaseDal.QueryFirst(x => x.WMSTaskNum == Rgv.taskID.ToString()); |
| | | if (task==null) throw new Exception($"æªæ¾å°ä»»å¡,ä»»å¡ç¼å·ã{Rgv.taskID}ã"); |
| | | switch (Rgv.status) |
| | | //var task = BaseDal.QueryFirst(x => x.RGVTaskId == Rgv.content.taskID); |
| | | var task = BaseDal.QueryFirst(x => x.PalletCode == Rgv.content.podID); |
| | | if (task == null) throw new Exception($"æªæ¾å°ä»»å¡,ä»»å¡ç¼å·ã{Rgv.content.taskID}ã"); |
| | | if (Rgv.messageType == 72)//å°è½¦é¡¶èµ·è´§ç© |
| | | { |
| | | case 2: |
| | | TaskCompleted(task, deviceTypeEnum); |
| | | break; |
| | | case 4: |
| | | TaskFromCompleted(task, deviceTypeEnum); |
| | | break; |
| | | default: |
| | | task.TaskState = ReturnTaskStatus(gALAXIS.taskStatus, deviceTypeEnum); |
| | | break; |
| | | //ç»è´¨æ£é¨åå
¥å¯å¨ä¿¡å· |
| | | var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "F1") as OtherDevice ?? throw new Exception("æªæ¾å°1楼质æ£é¨è®¾å¤ä¿¡æ¯"); |
| | | device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, true, task.SourceAddress); |
| | | } |
| | | |
| | | |
| | | else if (Rgv.messageType == 10) |
| | | { |
| | | if (task.TaskState == (int)TaskStatusEnum.TakeFinish && Rgv.content.status == 4) |
| | | { |
| | | task.TaskState = (int)TaskStatusEnum.CheckShapeing; |
| | | BaseDal.UpdateData(task); |
| | | } |
| | | else if (task.TaskState == (int)TaskStatusEnum.Puting && Rgv.content.status == 4) |
| | | { |
| | | TaskCompleted(task, deviceTypeEnum); |
| | | } |
| | | } |
| | | } |
| | | return content.OK(); |
| | | } |
| | |
| | | logObject = hIKROBOT; |
| | | deviceName = "海康æºå¨äºº"; |
| | | } |
| | | else if (Rgv != null && Rgv.taskID != 0) |
| | | else if (Rgv != null && Rgv.content.taskID != 0) |
| | | { |
| | | logObject = Rgv; |
| | | deviceName = "åå车"; |
| | |
| | | { |
| | | dt_Task.TaskState = TaskStatusEnum.TakeFinish.ObjToInt(); |
| | | Db.Ado.BeginTran(); |
| | | UpdateLocationStatus(dt_Task, deviceTypeEnum, LocationStatusEnum.Free); |
| | | UpdateLocationStatus(dt_Task.SourceAddress, dt_Task.PalletCode, deviceTypeEnum, LocationStatusEnum.Free); |
| | | BaseDal.UpdateData(dt_Task); |
| | | Db.Ado.CommitTran(); |
| | | return WebResponseContent.Instance.OK(); |
| | |
| | | if (agvContent.code != 0) dt_Task.ExceptionMessage = agvContent.msg; |
| | | } |
| | | Db.Ado.BeginTran(); |
| | | UpdateLocationStatus(dt_Task, deviceTypeEnum, LocationStatusEnum.InStock); |
| | | UpdateLocationStatus(dt_Task.TargetAddress, dt_Task.PalletCode, deviceTypeEnum, LocationStatusEnum.InStock); |
| | | if (agvContent != null && agvContent.code == 0) |
| | | BaseDal.DeleteAndMoveIntoHty(dt_Task, OperateTypeEnum.èªå¨å®æ); |
| | | else |
| | |
| | | /// <param name="deviceTypeEnum"></param> |
| | | /// <param name="locationStatusEnum"></param> |
| | | /// <returns></returns> |
| | | public WebResponseContent UpdateLocationStatus(Dt_Task takse, DeviceTypeEnum deviceTypeEnum, LocationStatusEnum locationStatusEnum) |
| | | public WebResponseContent UpdateLocationStatus(string locationCode, string palletCode, DeviceTypeEnum deviceTypeEnum, LocationStatusEnum locationStatusEnum) |
| | | { |
| | | try |
| | | { |
| | | if (deviceTypeEnum == DeviceTypeEnum.GALAXIS) |
| | | { |
| | | Dt_KLSLocationInfo? dt_KLSLocationInfo = _kLSLocationInfoService.Repository.QueryFirst(x => x.LocationCode == takse.SourceAddress); |
| | | Dt_KLSLocationInfo? dt_KLSLocationInfo = _kLSLocationInfoService.Repository.QueryFirst(x => x.LocationCode == locationCode); |
| | | if (dt_KLSLocationInfo != null) |
| | | { |
| | | if (locationStatusEnum== LocationStatusEnum.Free) //å¦æèµ·ç¹å®æå°±ç»è´§ä½èµå¼æçå· |
| | |
| | | } |
| | | else |
| | | { |
| | | dt_KLSLocationInfo.PalletCode = takse.PalletCode; |
| | | dt_KLSLocationInfo.PalletCode = palletCode; |
| | | } |
| | | dt_KLSLocationInfo.LocationStatus = locationStatusEnum.ObjToInt(); |
| | | _kLSLocationInfoService.Repository.UpdateData(dt_KLSLocationInfo); |
| | |
| | | } |
| | | else if (deviceTypeEnum == DeviceTypeEnum.HIKROBOT) |
| | | { |
| | | Dt_HKLocationInfo? dt_HKLocationInfo = _hKLocationInfoService.Repository.QueryFirst(x => x.LocationCode == takse.SourceAddress); |
| | | Dt_HKLocationInfo? dt_HKLocationInfo = _hKLocationInfoService.Repository.QueryFirst(x => x.LocationCode == locationCode); |
| | | if (dt_HKLocationInfo != null) |
| | | { |
| | | if (locationStatusEnum == LocationStatusEnum.Free) //å¦æèµ·ç¹å®æå°±ç»è´§ä½èµå¼æçå· |
| | |
| | | } |
| | | else |
| | | { |
| | | dt_HKLocationInfo.PalletCode = takse.PalletCode; |
| | | dt_HKLocationInfo.PalletCode = palletCode; |
| | | } |
| | | dt_HKLocationInfo.LocationStatus = locationStatusEnum.ObjToInt(); |
| | | _hKLocationInfoService.Repository.UpdateData(dt_HKLocationInfo); |
| | |
| | | } |
| | | else if (deviceTypeEnum == DeviceTypeEnum.YuanLiJuHe) |
| | | { |
| | | Dt_RGVLocationInfo dt_RGVLocationInfo = _rGVLocationInfoService.Repository.QueryFirst(x => x.LocationCode == takse.SourceAddress); |
| | | Dt_RGVLocationInfo dt_RGVLocationInfo = _rGVLocationInfoService.Repository.QueryFirst(x => x.LocationCode == locationCode); |
| | | //è¿éå°ä»»å¡çæçå·ç»è´§ä½è¡¨ä¸çPalletCodeåæ®µã |
| | | |
| | | if (dt_RGVLocationInfo != null) |
| | |
| | | } |
| | | else |
| | | { |
| | | dt_RGVLocationInfo.PalletCode = takse.PalletCode; |
| | | dt_RGVLocationInfo.PalletCode = palletCode; |
| | | } |
| | | dt_RGVLocationInfo.LocationStatus = locationStatusEnum.ObjToInt(); |
| | | _rGVLocationInfoService.Repository.UpdateData(dt_RGVLocationInfo); |
| | | } |
| | | } |
| | | else//åºå¤ç«å° |
| | | else//å¹³åºåºä½ |
| | | { |
| | | |
| | | } |
| | |
| | | using System.Diagnostics.CodeAnalysis; |
| | | using WIDESEAWCS_BasicInfoService; |
| | | using WIDESEAWCS_Common; |
| | | using WIDESEAWCS_Common.LocationEnum; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.BaseRepository; |
| | |
| | | /// </summary> |
| | | public IRepository<Dt_Task> Repository => BaseDal; |
| | | |
| | | public TaskService(IRepository<Dt_Task> BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, IRepository<Dt_TaskExecuteDetail> taskExecuteDetailRepository, IMapper mapper, IKLSLocationInfoService kLSLocationInfoService, IRGVLocationInfoService rGVLocationInfoService, IHKLocationInfoService hKLocationInfoService, IApiInfoService apiInfoService, ITrackloginfoService trackloginfoService) : base(BaseDal) |
| | | public TaskService(IRepository<Dt_Task> BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, IRepository<Dt_TaskExecuteDetail> taskExecuteDetailRepository, IMapper mapper, IKLSLocationInfoService kLSLocationInfoService, IRGVLocationInfoService rGVLocationInfoService, IHKLocationInfoService hKLocationInfoService, IApiInfoService apiInfoService, ITrackloginfoService trackloginfoService, IStationMangerService stationMangerService) : base(BaseDal) |
| | | { |
| | | _routerService = routerService; |
| | | _taskExecuteDetailService = taskExecuteDetailService; |
| | |
| | | _hKLocationInfoService = hKLocationInfoService; |
| | | _apiInfoService = apiInfoService; |
| | | _trackloginfoService = trackloginfoService; |
| | | _stationMangerService=stationMangerService; |
| | | } |
| | | public WebResponseContent ReceiveWMSTask([NotNull] List<WMSTasksDTO> taskDTOs) |
| | | { |
| | |
| | | </PropertyGroup> |
| | | |
| | | <ItemGroup> |
| | | <PackageReference Include="WIDESEAWCS_QuartzJob" Version="3.0.11" /> |
| | | </ItemGroup> |
| | | |
| | | <ItemGroup> |
| | | <ProjectReference Include="..\WIDESEAWCS_BasicInfoService\WIDESEAWCS_BasicInfoService.csproj" /> |
| | | <ProjectReference Include="..\WIDESEAWCS_ITaskInfoService\WIDESEAWCS_ITaskInfoService.csproj" /> |
| | | </ItemGroup> |
| | |
| | | { |
| | | fOURBOTnewMovePodTask.priority = item.Grade; |
| | | fOURBOTnewMovePodTask.podID = item.PalletCode; |
| | | fOURBOTnewMovePodTask.destination = item.NextAddress; |
| | | //fOURBOTnewMovePodTask.destination = item.NextAddress; |
| | | fOURBOTnewMovePodTask.desExt = new |
| | | { |
| | | unload = 0//æ¯å¦æ¾ä¸å®¹å¨,0å¦1æ¯ |
| | | }; |
| | | fOURBOTnewMovePodTask.desType = 2; |
| | | fOURBOTnewMovePodTask.taskExt = new |
| | | { |
| | | keepRobot = 1, |
| | | keepRobotTimeout = 1 |
| | | }; |
| | | fOURBOTnewMovePodTask.desType = 1; |
| | | fOURBOTnewMovePodTask.desNodeID = item.NextAddress; |
| | | string response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOTnewMovePodTask.Serialize()); |
| | | FOURBOTReturn fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>(); |
| | | content.Data= fOURBOTReturn; |
| | |
| | | { |
| | | priority = item.Grade, |
| | | podID = item.PalletCode, |
| | | destination = rGVLocationInfo.LocationCode, |
| | | desStorageID = rGVLocationInfo.LocationCode, |
| | | //destination = rGVLocationInfo.LocationCode, |
| | | desExt = new { unload = 1 }, // æ¯å¦æ¾ä¸å®¹å¨,0å¦1æ¯ |
| | | desType = 2 |
| | | }; |
| | | fOURBOTnewMovePodTask.taskExt = new |
| | | { |
| | | autoToRest = 1 |
| | | }; |
| | | item.CurrentAddress = item.NextAddress; |
| | | item.NextAddress = rGVLocationInfo.LocationCode; |
| | | item.TargetAddress = rGVLocationInfo.LocationCode; |
| | | item.Roadway = rGVLocationInfo.RoadwayNo; |
| | | |
| | | string response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOTnewMovePodTask.Serialize()); |
| | |
| | | { |
| | | Dt_StationManger stationManger = _stationMangerService.GetInStationInfo(item.SourceAddress); |
| | | item.CurrentAddress = item.NextAddress; |
| | | item.NextAddress = stationManger.RGVStationCode; |
| | | item.NextAddress = stationManger.StationCode; |
| | | fOURBOTnewMovePodTask.priority = item.Grade; |
| | | fOURBOTnewMovePodTask.podID = item.PalletCode; |
| | | fOURBOTnewMovePodTask.destination = item.NextAddress; |
| | |
| | | { |
| | | unload = 1//æ¯å¦æ¾ä¸å®¹å¨,0å¦1æ¯ |
| | | }; |
| | | fOURBOTnewMovePodTask.desType = 2; |
| | | fOURBOTnewMovePodTask.taskExt = new |
| | | { |
| | | autoToRest = 1 |
| | | }; |
| | | fOURBOTnewMovePodTask.desType = 5; |
| | | string response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOTnewMovePodTask.Serialize()); |
| | | FOURBOTReturn fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>(); |
| | | content.Data = fOURBOTReturn; |
| | |
| | | foreach (var item in tasks) |
| | | { |
| | | var stationManger = _stationMangerService.GetOutStationInfo(item.TargetAddress); |
| | | item.NextAddress = stationManger.StationCode; |
| | | if (stationManger.IsOccupied != LocationStatusEnum.Free.ObjToInt()) continue; |
| | | #region ä¸ååºåºä»»å¡ |
| | | fOURBOTnewMovePodTask.priority = item.Grade; |
| | |
| | | { |
| | | unload = 0//æ¯å¦æ¾ä¸å®¹å¨,0å¦1æ¯ |
| | | }; |
| | | fOURBOTnewMovePodTask.desType = 2; |
| | | fOURBOTnewMovePodTask.taskExt = new |
| | | { |
| | | autoToRest = 1 |
| | | }; |
| | | fOURBOTnewMovePodTask.desType = 5; |
| | | string response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOTnewMovePodTask.Serialize()); |
| | | FOURBOTReturn fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>(); |
| | | content.Data= fOURBOTReturn; |
| | |
| | | { |
| | | try |
| | | { |
| | | SendNewTask(); |
| | | //SendNewTask(); |
| | | |
| | | SendWaitToTask(); |
| | | //SendWaitToTask(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | using System.Reflection; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Common; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Communicator; |
| | | using WIDESEAWCS_Core.Helper; |
| | |
| | | using WIDESEAWCS_QuartzJob.DeviceBase; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | | using WIDESEAWCS_QuartzJob.StackerCrane.Enum; |
| | | using WIDESEAWCS_TaskInfoService; |
| | | |
| | | namespace WIDESEAWCS_Tasks |
| | | { |
| | |
| | | // _taskService.Repository ä»å¨å±ï¼è¿è¡æ°æ®åºè®¿é®- |
| | | try |
| | | { |
| | | List<Dt_Task> Uptasks = new List<Dt_Task>(); |
| | | var taskList = _taskService.Repository.QueryData(x => x.TaskType == TaskTypeEnum.CPInbound.ObjToInt() && x.TaskState == TaskStatusEnum.CheckShapeing.ObjToInt()); |
| | | //ä»»å¡çç®æ å°å对äºç«å°å·ï¼ |
| | | foreach (var task in taskList) |
| | | { |
| | | ////æ¾å°å¯¹äºç«å°ç管çä¿¡æ¯ï¼ççè¿ä¸ªç«å°ææ²¡æè´§ï¼å¦ææè´§çè¯ï¼å°±è¿è¡è´¨æ£ï¼å¦ææ²¡æè´§çè¯ï¼å°±ä¸è¿è¡è´¨æ£ |
| | | //var stationMangers = _stationMangerService.Repository.QueryFirst(x => x.StationCode == task.SourceAddress); |
| | | //device.SetValue(QualityInspectionCommandEnum.StartqualityInspection,true,task.SourceAddress); |
| | | //妿æè´§çè¯ï¼æè¿è¡è´¨æ£ï¼æç«å°ç¶æè¯¥ä¸ºå ç¨ |
| | | var R_StockAvailableSymbol = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_StockAvailableSymbol, task.SourceAddress); |
| | | if (R_StockAvailableSymbol == true) |
| | | { |
| | | //stationMangers.IsOccupied=1;//æ¹ä¸ºå ç¨ |
| | | //å¼å¯è´¨æ£ |
| | | device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, true, task.SourceAddress); |
| | | //å¦æè¯»å°è´¨æ£æ§è¡ä¸ä¸ºtrueçè¯ï¼å°±å
³éè´¨æ£ |
| | | if (device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_QualityInspection, task.SourceAddress)) |
| | | { |
| | | device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, false, task.SourceAddress); |
| | | } |
| | | //å读åè´¨æ£ç»æ |
| | | var qualityResult = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_QualityInspectionInProgress, task.SourceAddress); |
| | | //å·¦è¶
宽è¦å |
| | |
| | | var R_RightWideWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_RightWideWarning, task.SourceAddress); |
| | | //è¶
é«è¦å |
| | | var R_ExtremeWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_ExtremeWarning, task.SourceAddress); |
| | | //åå
¥åæ¢è´¨æ£ä¿¡å· |
| | | device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, true, task.SourceAddress); |
| | | if (qualityResult) |
| | | { |
| | | //å¦æè´¨æ£éè¿äºï¼å°±æä»»å¡ç¶ææ¹ä¸ºè´¨æ£å®æ |
| | | task.TaskState = TaskStatusEnum.CheckShapeingOk.ObjToInt(); |
| | | Uptasks.Add(task); |
| | | } |
| | | else if (R_LeftOverWidthWarning) |
| | | else |
| | | { |
| | | task.ExceptionMessage += "è´¨æ£å¤±è´¥ï¼å·¦è¶
宽"; |
| | | task.TaskState = TaskStatusEnum.CheckShapeingNG.ObjToInt(); |
| | | } |
| | | else if (R_RightWideWarning) |
| | | { |
| | | task.ExceptionMessage += "è´¨æ£å¤±è´¥ï¼å³è¶
宽"; |
| | | } |
| | | else if (R_ExtremeWarning) |
| | | { |
| | | task.ExceptionMessage += "è´¨æ£å¤±è´¥,è¶
é«"; |
| | | } |
| | | else if (qualityResult == false) //å¦æè´¨æ£å¤±è´¥ï¼å°±å¤ä½ |
| | | { |
| | | task.ExceptionMessage = "è´¨æ£å¤±è´¥"; |
| | | if (R_LeftOverWidthWarning) task.ExceptionMessage += ",å·¦è¶
宽"; |
| | | if (R_RightWideWarning) task.ExceptionMessage += ",å³è¶
宽"; |
| | | if (R_ExtremeWarning) task.ExceptionMessage += ",è¶
é«"; |
| | | Uptasks.Add(task); |
| | | //åå
¥å¤ä½ä¿¡å· |
| | | device.SetValue(QualityInspectionCommandEnum.FaultReset, true, task.SourceAddress); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //åå
¥åæ¢è´¨æ£ä¿¡å· |
| | | device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, true, task.SourceAddress); |
| | | device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, false, task.SourceAddress); |
| | | device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, true, task.SourceAddress); |
| | | } |
| | | |
| | | } |
| | | |
| | | _taskService.UpdateData(Uptasks); |
| | | WriteInfo(device.DeviceName, "infoLog"); |
| | | |
| | | WriteDebug(device.DeviceName, "debugLog"); |
| | |
| | | </PropertyGroup> |
| | | |
| | | <ItemGroup> |
| | | <PackageReference Include="WIDESEAWCS_QuartzJob" Version="3.0.9" /> |
| | | <PackageReference Include="WIDESEAWCS_QuartzJob" Version="3.0.11" /> |
| | | </ItemGroup> |
| | | |
| | | <ItemGroup> |