wangxinhui
2025-01-04 ca08d1f380987254814242e2fe3ea9de28228132
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs
@@ -28,6 +28,8 @@
{
    public partial class TaskService
    {
        static object lock_out = new object();
        /// <summary>
        /// æµ‹è¯•架出仓
        /// </summary>
@@ -35,9 +37,17 @@
        /// <returns></returns>
        public MesResponseContent TestToolOut(TestToolOutModel model)
        {
            lock (lock_out)
            {
            MesResponseContent responseContent = new MesResponseContent();
            try
            {
                    Dt_Task exsit = Repository.QueryFirst(x => x.TargetAddress == model.TargetAddressCode);
                    if(exsit != null)
                    {
                        return responseContent.Error($"目标地址重复");
                    }
                Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA64.ToString());
                //获取库存记录
                List<Dt_StockInfo> stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x =>
@@ -48,6 +58,12 @@
                {
                    return responseContent.Error($"测试架:{model.ToolCode}无可用库存");
                }
                    Dt_Task exsit2 = Repository.QueryFirst(x => x.PalletCode == stockInfo.PalletCode);
                    if (exsit2 != null)
                    {
                        return responseContent.Error($"测试架批次号重复");
                    }
                Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == stockInfo.LocationCode &&
                  x.WarehouseId == stockInfo.WarehouseId &&
                  x.LocationStatus == (int)LocationStatusEnum.InStock &&
@@ -84,7 +100,7 @@
                //新建任务
                BaseDal.AddData(taskOut);
                //加入货位变动记录
                _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, locationStatus, LocationChangeType.OutboundAssignLocation, stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", taskOut.TaskNum);
                    _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, locationStatus, LocationStatusEnum.Lock, LocationChangeType.OutboundAssignLocation, stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", taskOut.TaskNum);
                _unitOfWorkManage.CommitTran();
                //将任务推送到WCS
                PushTasksToWCS(new List<Dt_Task>() { taskOut }, "AGV");
@@ -97,6 +113,7 @@
            }
            return responseContent;
        }
        }
        /// <summary>
        /// æµ‹è¯•架退库
        /// </summary>