| | |
| | | { |
| | | throw new Exception("未查询到该任务"); |
| | | } |
| | | |
| | | if (transportTask.S_TYPE == "入库" && !string.IsNullOrEmpty(transportTask.mark)) |
| | | { |
| | | if (State.clientType == "1") |
| | |
| | | } |
| | | else if (transportTask.S_TYPE == "入库") |
| | | { |
| | | |
| | | if (State.clientType == "1") |
| | | { |
| | | NDCHelper.ChangeParam(State.requestPk, 1103, 18); |
| | |
| | | } |
| | | else if (transportTask.S_TYPE == "出库") |
| | | { |
| | | if (State.clientType == "1") |
| | | var tac = newDb.Queryable<TN_TcpCont>().Where(a => a.LocationCode == transportTask.S_END_LOC)?.First(); |
| | | if (tac?.CtiaMode == "立库") |
| | | { |
| | | NDCHelper.ChangeParam(State.requestPk, 1101, 18); |
| | | if (State.clientType == "1") |
| | | { |
| | | NDCHelper.ChangeParam(State.requestPk, 1103, 18); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (State.clientType == "1") |
| | | { |
| | | NDCHelper.ChangeParam(State.requestPk, 1101, 18); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region Agv载货信息接口 |
| | | /// <summary> |
| | | /// Agv载货信息接口 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | [Route("ZcAgvVanAge")] |
| | | public OperateResult ZcAgvVanAge() |
| | | { |
| | | try |
| | | { |
| | | var chi = new SqlHelper<object>().GetInstance(); |
| | | var newDb = chi.CopyNew(); |
| | | //查询所有正在执行的agv任务 并且有车号 |
| | | List<string> AgvTaskState = new List<string> { "未执行", "已推送", "执行中", "完成", "取消" }; |
| | | var AgvtransportTask = newDb.Queryable<WMSTask>().Where(e => e.S_NOTE == "agv任务" && !AgvTaskState.Contains(e.S_B_STATE)).ToList(); |
| | | var agv = newDb.Queryable<S_AGV_CONDITIONEntitys>().ToList(); |
| | | //根据车号排序 |
| | | agv = agv.OrderBy(e => int.Parse(e.forkliftNo)).ToList(); |
| | | AgvWcsCarryMsg agvWcsCar = new AgvWcsCarryMsg(); |
| | | List<AgvCarryMsg> AgvMsgL = new List<AgvCarryMsg>(); |
| | | foreach (var item in agv) |
| | | { |
| | | var Model = new AgvCarryMsg(); |
| | | Model.forkliftNo = item.forkliftNo; |
| | | Model.Agvstate_s = item.Agvstate_s; |
| | | Model.Battery_Soc = item.Battery_Soc; |
| | | Model.Pos_XY = $"{item.Pos_X},{item.Pos_Y}"; |
| | | var agvTask = AgvtransportTask.Find(e => e.S_EQ_NO == item.forkliftNo); |
| | | if (agvTask != null) |
| | | { |
| | | Model.TrayCode = agvTask.S_CNTRS; |
| | | } |
| | | AgvMsgL.Add(Model); |
| | | } |
| | | var Wcs = BLLCreator.Create<WcsTask>().WcsdataBoard(); |
| | | agvWcsCar.AgvMsgList = AgvMsgL; |
| | | agvWcsCar.WcsMsgList = Wcs; |
| | | |
| | | return OperateResult.Succeed("", JsonConvert.SerializeObject(agvWcsCar)); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | return OperateResult.Error(ex.Message); |
| | | } |
| | | |
| | | } |
| | | #endregion |
| | | #region MES修改智能空桶对应空托缓存点容量 |
| | | /// <summary> |
| | | /// MES修改智能空桶对应空托缓存点容量 |
| | | /// </summary> |
| | | /// <param name="LocationCode">满托入库点位</param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | [Route("ZcMesUpdateLoNum")] |
| | | public OperateResult ZcMesUpdateLoNum(string LocationCode) |
| | | { |
| | | LogHelper.Info("MES", $"MES修改智能空桶对应空托缓存点容量 入参:{LocationCode}"); |
| | | var chi = new SqlHelper<object>().GetInstance(); |
| | | var newDb = chi.CopyNew(); |
| | | try |
| | | { |
| | | Location location2 = null; |
| | | List<ConfigValueList> ListValues = new List<ConfigValueList>(); |
| | | var transport = newDb.Queryable<ConfigJsonEntitys>().Where(e => e.Autoindex == "智能空桶缓存")?.First(); |
| | | if (transport != null) |
| | | { |
| | | ListValues = JsonConvert.DeserializeObject<List<ConfigValueList>>(transport.TypeJson); |
| | | if (ListValues.Count() > 0) |
| | | { |
| | | //查询出对应的空托缓存位 |
| | | var ggf = ListValues.Find(e => e.LocationCode1 == LocationCode); |
| | | if (ggf != null) |
| | | { |
| | | location2 = newDb.Queryable<Location>().Where(e => e.S_LOC_CODE == ggf.LocationCode2)?.First(); |
| | | if (location2 != null && (location2.N_CURRENT_NUM - 1 >= 0)) |
| | | { |
| | | try |
| | | { |
| | | newDb.BeginTran(); |
| | | var I = newDb.Updateable<Location>().SetColumns(it => new Location() |
| | | { |
| | | T_MODIFY = DateTime.Now, |
| | | N_CURRENT_NUM = it.N_CURRENT_NUM - 1, |
| | | T_EMPTY_TIME = DateTime.Now |
| | | }).Where(x => x.S_LOC_CODE == location2.S_LOC_CODE).ExecuteCommand(); |
| | | if (I == 0) |
| | | { |
| | | throw new Exception("更新终点当前容量-1失败"); |
| | | } |
| | | LogHelper.Info("MES", $"MES修改智能空桶对应空托缓存点容量 修改成功 修改的货位为{location2.S_LOC_CODE}"); |
| | | newDb.CommitTran(); |
| | | return OperateResult.Succeed(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | newDb.RollbackTran(); |
| | | LogHelper.Info("MES", $"MES修改智能空桶对应空托缓存点容量 {ex.Message}"); |
| | | return OperateResult.Error(ex.Message); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info("MES", $"MES修改智能空桶对应空托缓存点容量 {location2.N_CURRENT_NUM} 减去1后不在大于/等于0 故而不允许减少"); |
| | | return OperateResult.Succeed(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | throw new Exception("未查询到 智能空桶缓存 相关配置信息"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Info("MES", $"MES修改智能空桶对应空托缓存点容量 报错:{ex.Message}"); |
| | | return OperateResult.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | #endregion |
| | | [HttpGet] |
| | | [Route("asss")] |
| | | public OperateResult asss(int T) |
| | | public OperateResult asss() |
| | | { |
| | | var transportTask = STAttribute.GetValueTwo("TTXB-送满取空"); |
| | | var ListString = JsonConvert.DeserializeObject<List<ConfigValueListTwo>>(transportTask); |
| | | return OperateResult.Succeed(JsonConvert.SerializeObject(ListString)); |
| | | // List<OperateResult> nn = new List<OperateResult>(); |
| | | //var ca = BLLCreator.Create<IdGuid>().TaskNo("CK"); |
| | | //LogHelper.Info("任务下发", "MES下发任务参数:"); |