1
pulg
2025-05-27 bc3d7a828114cb9df154da869ec986cf6733a779
HH.WCS.ZCQTJ/api/WmsController.cs
@@ -1570,7 +1570,6 @@
                    {
                        throw new Exception("未查询到该任务");
                    }
                    if (transportTask.S_TYPE == "入库" && !string.IsNullOrEmpty(transportTask.mark))
                    {
                        if (State.clientType == "1")
@@ -1580,6 +1579,7 @@
                    }
                    else if (transportTask.S_TYPE == "入库")
                    {
                        if (State.clientType == "1")
                        {
                            NDCHelper.ChangeParam(State.requestPk, 1103, 18);
@@ -1587,9 +1587,20 @@
                    }
                    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);
                            }
                        }
                    }
                }
@@ -3337,11 +3348,136 @@
            }
        }
        #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下发任务参数:");