| | |
| | | try |
| | | { |
| | | #region 涓夋ゼ鑷姩浠诲姟 |
| | | List<string> StationCodes = new() { "0321935CC0329515", "0321935CC0329015", "0321935CC0328485", "0321935CC0328005" }; |
| | | List<string> StationCodes = new() { "0348840CC0315655", "0349350CC0315655" }; |
| | | var stations = _StationInfoService.Repository.QueryData(x => StationCodes.Contains(x.StationCode)); |
| | | #region 鍏ユ彁鍗囨満浠诲姟 |
| | | var station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.InStock); |
| | | var station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.InStock && x.IsOccupied == 0); |
| | | if (station != null) |
| | | { |
| | | var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)); |
| | |
| | | { |
| | | if (device.GetValue<HoistEnum, short>(HoistEnum.SOutboundmaterialbox, "TSJC3F") == 1) |
| | | { |
| | | Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC3F"); |
| | | Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC3F" /*&& x.TaskState < TaskStatusEnum.TakeFinish.ObjToInt()*/); |
| | | if (dt_Task == null) |
| | | { |
| | | station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.Free); |
| | | station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.Free && x.IsOccupied == 0); |
| | | if (station != null) |
| | | { |
| | | var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)); |
| | |
| | | |
| | | #endregion |
| | | |
| | | #region 4F |
| | | List<string> stationCodes = new() { "0319882DD0312730", "0319882DD0313240" }; |
| | | var Stations = _StationInfoService.Repository.QueryData(x => stationCodes.Contains(x.StationCode)); |
| | | #region 鍏ユ彁鍗囨満浠诲姟 |
| | | var Station = Stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.InStock && x.IsOccupied == 0); |
| | | if (Station != null) |
| | | { |
| | | var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)); |
| | | Dt_Task dt_Task = new Dt_Task() |
| | | { |
| | | TaskNum = tasknum, |
| | | WMSTaskNum = "GP" + tasknum, |
| | | Grade = 60, |
| | | PalletCode = Station.PalletCode, |
| | | Roadway = "", |
| | | TaskState = (int)TaskStatusEnum.New, |
| | | TaskType = TaskTypeEnum.F04.ObjToInt(), |
| | | SourceAddress = Station.StationCode, |
| | | CurrentAddress = Station.StationCode, |
| | | NextAddress = "TSJR4F", |
| | | TargetAddress = "TSJR4F", |
| | | Creater = "WCS", |
| | | }; |
| | | var content = _taskService.SendHIKROBOTTask(dt_Task); |
| | | if (content.Status) |
| | | { |
| | | dt_Task.TaskState = (int)TaskStatusEnum.Execut; |
| | | dt_Task.Dispatchertime = DateTime.Now; |
| | | Station.StationStatus = (int)LocationStatusEnum.OutLock; |
| | | _taskService.AddData(dt_Task); |
| | | _StationInfoService.UpdateData(Station); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 鍑烘彁鍗囨満浠诲姟 |
| | | device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "TSJ") as OtherDevice; |
| | | if (device != null && device.IsConnected) |
| | | { |
| | | if (device.GetValue<HoistEnum, short>(HoistEnum.FOutboundmaterialbox, "TSJC4F") == 1) |
| | | { |
| | | Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC4F" /*&& x.TaskState < TaskStatusEnum.TakeFinish.ObjToInt()*/); |
| | | if (dt_Task == null) |
| | | { |
| | | Station = Stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.Free && x.IsOccupied == 0); |
| | | if (Station != null) |
| | | { |
| | | var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)); |
| | | dt_Task = new Dt_Task() |
| | | { |
| | | TaskNum = tasknum, |
| | | WMSTaskNum = "GP" + tasknum, |
| | | Grade = 60, |
| | | PalletCode = "LXM" + tasknum, |
| | | Roadway = "", |
| | | TaskState = (int)TaskStatusEnum.New, |
| | | TaskType = TaskTypeEnum.F03.ObjToInt(), |
| | | SourceAddress = "TSJC4F", |
| | | CurrentAddress = "TSJC4F", |
| | | NextAddress = Station.StationCode, |
| | | TargetAddress = Station.StationCode, |
| | | Creater = "WCS", |
| | | }; |
| | | var content = _taskService.SendHIKROBOTTask(dt_Task); |
| | | if (content.Status) |
| | | { |
| | | dt_Task.TaskState = (int)TaskStatusEnum.Execut; |
| | | dt_Task.Dispatchertime = DateTime.Now; |
| | | Station.StationStatus = (int)LocationStatusEnum.InLock; |
| | | _taskService.AddData(dt_Task); |
| | | _StationInfoService.UpdateData(Station); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #endregion |
| | | |
| | | #region 鍥涙ゼ鑷姩浠诲姟 |
| | | List<string> LocationCodes = new() { "RGD0303A04041","RG0302A05041","RG0304A05041","RG0205A05031" }; |
| | | //List<string> LocationCodes = new() { "RGD0303A04041", "RG0302A05041", "RG0304A05041", "RG0205A05031" }; |
| | | List<string> LocationCodes = new() { "RGD0302A05041", "RGD0304A05041", "R3CG0106A04031", "RGD0307A05012" }; |
| | | var hKLocationInfos = _HKLocationInfoService.Repository.QueryData(x => LocationCodes.Contains(x.LocationCode)); |
| | | #region 鍏ユ彁鍗囨満浠诲姟 |
| | | var hKLocation = hKLocationInfos.FirstOrDefault(x => x.LocationStatus == (int)LocationStatusEnum.InStock); |
| | |
| | | #endregion |
| | | |
| | | #region 鍑烘彁鍗囨満浠诲姟 |
| | | if (device != null && device.IsConnected) |
| | | { |
| | | if (device.GetValue<HoistEnum, short>(HoistEnum.FOutboundmaterialbox, "TSJC4F") == 1) |
| | | { |
| | | Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC4F"); |
| | | if (dt_Task == null) |
| | | { |
| | | hKLocation = hKLocationInfos.FirstOrDefault(x => x.LocationStatus == (int)LocationStatusEnum.Free); |
| | | if (hKLocation != null) |
| | | { |
| | | var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)); |
| | | dt_Task = new Dt_Task() |
| | | { |
| | | TaskNum = tasknum, |
| | | WMSTaskNum = "GP" + tasknum, |
| | | Grade = 60, |
| | | PalletCode = "LXM" + tasknum, |
| | | Roadway = "", |
| | | TaskState = (int)TaskStatusEnum.New, |
| | | TaskType = TaskTypeEnum.Q1TSJ4.ObjToInt(), |
| | | SourceAddress = "TSJC4F", |
| | | CurrentAddress = "TSJC4F", |
| | | NextAddress = hKLocation.LocationCode, |
| | | TargetAddress = hKLocation.LocationCode, |
| | | Creater = "WCS", |
| | | }; |
| | | var content = _taskService.SendHIKROBOTTask(dt_Task); |
| | | if (content.Status) |
| | | { |
| | | dt_Task.TaskState = (int)TaskStatusEnum.Execut; |
| | | dt_Task.Dispatchertime = DateTime.Now; |
| | | hKLocation.LocationStatus = (int)LocationStatusEnum.InLock; |
| | | _taskService.AddData(dt_Task); |
| | | _HKLocationInfoService.UpdateData(hKLocation); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | //if (device != null && device.IsConnected) |
| | | //{ |
| | | // if (device.GetValue<HoistEnum, short>(HoistEnum.FOutboundmaterialbox, "TSJC4F") == 1) |
| | | // { |
| | | // Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC4F"); |
| | | // if (dt_Task == null) |
| | | // { |
| | | // hKLocation = hKLocationInfos.FirstOrDefault(x => x.LocationStatus == (int)LocationStatusEnum.Free); |
| | | // if (hKLocation != null) |
| | | // { |
| | | // var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)); |
| | | // dt_Task = new Dt_Task() |
| | | // { |
| | | // TaskNum = tasknum, |
| | | // WMSTaskNum = "GP" + tasknum, |
| | | // Grade = 60, |
| | | // PalletCode = "LXM" + tasknum, |
| | | // Roadway = "", |
| | | // TaskState = (int)TaskStatusEnum.New, |
| | | // TaskType = TaskTypeEnum.Q1TSJ4.ObjToInt(), |
| | | // SourceAddress = "TSJC4F", |
| | | // CurrentAddress = "TSJC4F", |
| | | // NextAddress = hKLocation.LocationCode, |
| | | // TargetAddress = hKLocation.LocationCode, |
| | | // Creater = "WCS", |
| | | // }; |
| | | // var content = _taskService.SendHIKROBOTTask(dt_Task); |
| | | // if (content.Status) |
| | | // { |
| | | // dt_Task.TaskState = (int)TaskStatusEnum.Execut; |
| | | // dt_Task.Dispatchertime = DateTime.Now; |
| | | // hKLocation.LocationStatus = (int)LocationStatusEnum.InLock; |
| | | // _taskService.AddData(dt_Task); |
| | | // _HKLocationInfoService.UpdateData(hKLocation); |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | // } |
| | | //} |
| | | #endregion |
| | | |
| | | #endregion |