| | |
| | | { |
| | | private static readonly object OLock = new object(); |
| | | private static readonly object RuKuLock = new object(); |
| | | private static readonly object OutLock = new object(); |
| | | |
| | | private static readonly ISqlSugarClient _db = SqlSugarSetup.ITenant.GetConnectionScope(SqlSugarConst.MainConfigId); |
| | | private static decimal weight94 = 0; |
| | |
| | | { |
| | | #region 跨跺机任务处理 ########### |
| | | // 判断目标位置是否是跨跺机出库工位 |
| | | if (modTask.EndLocate == "266" && modTask.StartRoadway != "R05") |
| | | if (modTask.EndLocate == "266")// && modTask.StartRoadway != "R05" |
| | | { |
| | | // 判断入库工位是否存在未完成的入库任务 |
| | | var modInTask = _db.Queryable<WcsTask>().OrderBy(m => m.Levels, OrderByType.Asc).OrderBy(m => m.CreateTime, OrderByType.Asc) |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | string aaa = PLCCommon.RoadwayToOutStationNum(modTask.StartRoadway, "1"); // 获取1楼中专工位号 |
| | | taskInfo.Ip = PLCCommon.GetPlcIp(aaa).PlcIP; |
| | | taskInfo.EndPai = "2"; |
| | | taskInfo.EndLie = "60"; |
| | | taskInfo.EndCeng = "1"; |
| | | taskInfo.EndStation = aaa; |
| | | if (modTask.StartRoadway != "R05") |
| | | { |
| | | string aaa = PLCCommon.RoadwayToOutStationNum(modTask.StartRoadway, "1"); // 获取1楼中专工位号 |
| | | taskInfo.Ip = PLCCommon.GetPlcIp(aaa).PlcIP; |
| | | taskInfo.EndPai = "2"; |
| | | taskInfo.EndLie = "60"; |
| | | taskInfo.EndCeng = "1"; |
| | | taskInfo.EndStation = aaa; |
| | | } |
| | | |
| | | } |
| | | |
| | | if (modTask.EndLocate == "265" && modTask.StartRoadway != "R05" && modTask.StartRoadway != "R06") |
| | | if (modTask.EndLocate == "265") // && modTask.StartRoadway != "R05" && modTask.StartRoadway != "R06" |
| | | { |
| | | // 判断入库工位是否存在未完成的入库任务 |
| | | var modInTask = _db.Queryable<WcsTask>().OrderBy(m => m.Levels, OrderByType.Asc).OrderBy(m => m.CreateTime, OrderByType.Asc) |
| | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | string aaa = PLCCommon.RoadwayToOutStationNum(modTask.StartRoadway, "1"); // 获取1楼中专工位号 |
| | | taskInfo.Ip = PLCCommon.GetPlcIp(aaa).PlcIP; |
| | | taskInfo.EndPai = "2"; |
| | | taskInfo.EndLie = "60"; |
| | | taskInfo.EndCeng = "1"; |
| | | taskInfo.EndStation = aaa; |
| | | if (modTask.StartRoadway != "R05" && modTask.StartRoadway != "R06") |
| | | { |
| | | string aaa = PLCCommon.RoadwayToOutStationNum(modTask.StartRoadway, "1"); // 获取1楼中专工位号 |
| | | taskInfo.Ip = PLCCommon.GetPlcIp(aaa).PlcIP; |
| | | taskInfo.EndPai = "2"; |
| | | taskInfo.EndLie = "60"; |
| | | taskInfo.EndCeng = "1"; |
| | | taskInfo.EndStation = aaa; |
| | | } |
| | | } |
| | | |
| | | // 写入放货工位固定地址 |
| | |
| | | TaskType = ((int)TaskTypeEnum.Out).ToString(), |
| | | TaskStatus = ((int)TaskStatusEnum.Complete).ToString() |
| | | }; |
| | | HttpService httpService = new HttpService(); |
| | | var modResponseTask = httpService.RequestTask(requestMode).Result; |
| | | if (modResponseTask.StatusCode == 0) |
| | | { |
| | | modInsertTaskMonitor.InteractiveMsg += ",返回给WMS任务完成"; |
| | | } |
| | | else |
| | | { |
| | | Log.Error(string.Format("任务反馈失败:StatusCode:{0};Msg:{1}", modResponseTask.StatusCode, modResponseTask.Msg)); |
| | | lock(OutLock) |
| | | { |
| | | HttpService httpService = new HttpService(); |
| | | var modResponseTask = httpService.RequestTask(requestMode).Result; |
| | | if (modResponseTask.StatusCode == 0) |
| | | { |
| | | modInsertTaskMonitor.InteractiveMsg += ",返回给WMS任务完成"; |
| | | } |
| | | else |
| | | { |
| | | Log.Error(string.Format("任务反馈失败:StatusCode:{0};Msg:{1}", modResponseTask.StatusCode, modResponseTask.Msg)); |
| | | } |
| | | } |
| | | } |
| | | |