huanghongfeng
14 小时以前 bce2cc310d462ffbe56ee3d9f3d9368abf481aad
最新
已修改13个文件
297 ■■■■ 文件已修改
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_DTO/Task/WMSTaskDTO.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs 68 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/接口清单/托盘库接口清单V1.6.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs
@@ -102,5 +102,10 @@
        public string MESbusinessId { get; set; }
        public string MESsubPalletCode { get; set; }
        /// <summary>
        /// å‡ºå…¥åº“口
        /// </summary>
        public string OutboundPlatform { get; set; }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -244,5 +244,11 @@
        /// </summary>
        /// <returns></returns>
        Dt_Task GetOutTaskInfo(string PLCaddress);
        /// <summary>
        /// 2楼出库口申请取消
        /// </summary>
        /// <returns></returns>
        Dt_Task GetOutTaskInfo2(string PalletCode);
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs
@@ -192,5 +192,10 @@
        [ExporterHeader(DisplayName = "托盘编号子托")]
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "托盘编号子托")]
        public string MESsubPalletCode { get; set; }
        /// <summary>
        /// å‡ºå…¥åº“口
        /// </summary>
        public string OutboundPlatform { get; set; }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -511,7 +511,7 @@
                    task.ModifyDate = DateTime.Now;
                    BaseDal.UpdateData(task);
                    content = HttpHelperh.Get<WebResponseContent>($"{urlTaskCompleted}?TaskNum={task.TaskNum}");
                    Console.WriteLine("任务完成");
                    Console.WriteLine("任务完成,wms反馈信息:"+content.Message);
                    //BaseDal.DeleteData(task);
                    // _task_HtyService.AddTaskHty(task); éœ€è¦æ·»åŠ ç§»å…¥åŽ†å²
                    //_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"出库完成");
@@ -718,5 +718,10 @@
        {
            return BaseDal.QueryFirst(x => x.TargetAddress== PLCaddress && x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish, TaskOrderBy);
        }
        public Dt_Task GetOutTaskInfo2(string PalletCode)
        {
            return BaseDal.QueryFirst(x => x.PalletCode == PalletCode && x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting, TaskOrderBy);
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
@@ -2,6 +2,7 @@
using Quartz;
using SqlSugar;
using System.Threading.Tasks;
using WIDESEA_Comm.Http;
using WIDESEAWCS_Common;
using WIDESEAWCS_Common.Helper;
using WIDESEAWCS_Common.TaskEnum;
@@ -83,11 +84,19 @@
                                // å‡ºåº“
                                if (conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !STB && !ACK)//出库
                                {
                                    if (!string.IsNullOrEmpty(conveyorLineInfoRead.Barcode))//采购入库
                                    if (!string.IsNullOrEmpty(conveyorLineInfoRead.Barcode))
                                    {
                                        device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
                                        device.SetValue(W_ConveyorLineDB.EndPos, 2011, item.StationCode);
                                        device.SetValue(W_ConveyorLineDB.TaskNo, 1111, item.StationCode);
                                        Dt_Task dt_Ta = _taskService.GetOutTaskInfo2(conveyorLineInfoRead.Barcode);
                                        if (dt_Ta != null)
                                        {
                                            device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
                                            device.SetValue(W_ConveyorLineDB.EndPos, dt_Ta.OutboundPlatform, item.StationCode);
                                            device.SetValue(W_ConveyorLineDB.TaskNo, dt_Ta.TaskNum, item.StationCode);
                                            //删除任务
                                            _taskRepository.DeleteData(dt_Ta);
                                        }
                                    }
                                }
                                else if (!conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !STB && ACK)
@@ -153,13 +162,19 @@
                                    if (dt_Ta != null)
                                    {
                                        Dt_Router dt_Router = _routerRepository.QueryFirst(x => x.StartPosi == dt_Ta.TargetAddress);
                                        //堆垛机任务完成下一地址改成输送线下一地址,设备编号改成输送线
                                        _taskService.UpdateTaskStatusToNext(dt_Ta.TaskNum);
                                        device.SetValue(W_ConveyorLineDB.TaskNo, dt_Ta.TaskNum, item.StationCode);
                                        device.SetValue(W_ConveyorLineDB.EndPos, dt_Router.NextPosi, item.StationCode);
                                        device.SetValue(W_ConveyorLineDB.STB, true, item.StationCode);
                                        //删除任务
                                        _taskRepository.DeleteData(dt_Ta);
                                        //堆垛机任务完成下一地址改成输送线下一地址,设备编号改成输送线
                                        _taskService.UpdateTaskStatusToNext(dt_Ta.TaskNum);
                                        if (dt_Ta.TargetAddress !="2021" && dt_Ta.TargetAddress != "2020")
                                        {
                                            //删除任务
                                            _taskRepository.DeleteData(dt_Ta);
                                        }
                                    }
                                }
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs
@@ -243,6 +243,119 @@
                return null;
            }
        }
        /// <summary>
        /// åº“位分配,无巷道号进行分配发
        /// </summary>
        /// <returns></returns>
        public Dt_LocationInfo? GetLocationInfo()
        {
            lock (_locker)
            {
                List<LocationCache> removeItems = locationCaches.Where(x => (DateTime.Now - x.DateTime).TotalMinutes > 20).ToList();//查询添加静态变量超过5分钟的货位
                int count = removeItems.Count;
                for (int i = 0; i < count; i++)
                {
                    locationCaches.Remove(removeItems[i]);//移除查询添加静态变量超过5分钟的货位
                }
                List<string> lockLocations = locationCaches.Select(x => x.LocationCode).ToList();
                List<Dt_LocationInfo> locationInfos = BaseDal.QueryData();//查询巷道所有货位信息
                List<Dt_LocationInfo> emptyLocations = locationInfos.Where(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && !lockLocations.Contains(x.LocationCode)).OrderBy(x => x.Layer).ThenBy(x => x.Column).ThenByDescending(x => x.Depth).ThenBy(x => x.Row).ToList();//查询空货位信息并排除5分钟内分配的货位,根据层、列、深度、行排序
                for (int i = 0; i < emptyLocations.Count; i++)
                {
                    if (emptyLocations[i].Depth == 1)//判断是否1深货位
                    {
                        Dt_LocationInfo? sencondDepthLocation = locationInfos.FirstOrDefault(x => Math.Abs(x.Row - emptyLocations[i].Row) == 1 && x.Layer == emptyLocations[i].Layer && x.Column == emptyLocations[i].Column);//查询2深货位对应的1深货位是否为空,防止出现分配1深货位而2深货位为空的情况
                        if (sencondDepthLocation != null && sencondDepthLocation.LocationStatus == LocationStatusEnum.Free.ObjToInt())
                        {
                            locationCaches.Add(new LocationCache { DateTime = DateTime.Now, LocationCode = sencondDepthLocation.LocationCode });
                            return sencondDepthLocation;//1深货位及2深货位都为空的情况下,优先分配2深货位
                        }
                        else
                        {
                            locationCaches.Add(new LocationCache { DateTime = DateTime.Now, LocationCode = emptyLocations[i].LocationCode });
                            return emptyLocations[i];
                        }
                    }
                    else
                    {
                        Dt_LocationInfo? sencondDepthLocation = locationInfos.FirstOrDefault(x => Math.Abs(x.Row - emptyLocations[i].Row) == 1 && x.Layer == emptyLocations[i].Layer && x.Column == emptyLocations[i].Column);//查询2深货位对应的1深货位是否为空
                        if (sencondDepthLocation != null && sencondDepthLocation.LocationStatus == LocationStatusEnum.Free.ObjToInt())
                        {
                            locationCaches.Add(new LocationCache { DateTime = DateTime.Now, LocationCode = emptyLocations[i].LocationCode });
                            return emptyLocations[i];
                        }
                    }
                }
                return null;
            }
        }
        /// <summary>
        /// åˆ¤æ–­å··é“内移库,获取货位
        /// </summary>
        /// <param name="roadway"></param>
        /// <returns></returns>
        public Dt_LocationInfo? GetLocation(string roadway)
        {
            lock (_locker)
            {
                List<LocationCache> removeItems = locationCaches.Where(x => (DateTime.Now - x.DateTime).TotalMinutes > 20).ToList();//查询添加静态变量超过20分钟的货位
                int count = removeItems.Count;
                for (int i = 0; i < count; i++)
                {
                    locationCaches.Remove(removeItems[i]);//移除查询添加静态变量超过5分钟的货位
                }
                List<string> lockLocations = locationCaches.Select(x => x.LocationCode).ToList();
                List<Dt_LocationInfo> locationInfos = BaseDal.QueryData(x => x.RoadwayNo == roadway  && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && !lockLocations.Contains(x.LocationCode));//查询巷道所有货位信息
                List<Dt_LocationInfo> emptyLocations = locationInfos.Where(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && !lockLocations.Contains(x.LocationCode)).OrderBy(x => x.Layer).ThenBy(x => x.Column).ThenByDescending(x => x.Depth).ThenBy(x => x.Row).ToList();//查询空货位信息并排除20分钟内分配的货位,根据层、列、深度、行排序
                for (int i = 0; i < emptyLocations.Count; i++)
                {
                    if (emptyLocations[i].Depth == 1)//判断是否1深货位
                    {
                        Dt_LocationInfo? sencondDepthLocation = locationInfos.FirstOrDefault(x => Math.Abs(x.Row - emptyLocations[i].Row) == 1 && x.Layer == emptyLocations[i].Layer && x.Column == emptyLocations[i].Column);//查询2深货位对应的1深货位是否为空,防止出现分配1深货位而2深货位为空的情况
                        if (sencondDepthLocation != null && sencondDepthLocation.LocationStatus == LocationStatusEnum.Free.ObjToInt())
                        {
                            locationCaches.Add(new LocationCache { DateTime = DateTime.Now, LocationCode = sencondDepthLocation.LocationCode });
                            return sencondDepthLocation;//1深货位及2深货位都为空的情况下,优先分配2深货位
                        }
                        else
                        {
                            if (sencondDepthLocation != null && sencondDepthLocation.LocationStatus != LocationStatusEnum.Lock.ObjToInt())   //判断二深无任务
                            {
                                locationCaches.Add(new LocationCache { DateTime = DateTime.Now, LocationCode = emptyLocations[i].LocationCode });
                                return emptyLocations[i];
                            }
                        }
                    }
                    else
                    {
                        Dt_LocationInfo? sencondDepthLocation = locationInfos.FirstOrDefault(x => Math.Abs(x.Row - emptyLocations[i].Row) == 1 && x.Layer == emptyLocations[i].Layer && x.Column == emptyLocations[i].Column);//查询2深货位对应的1深货位是否为空
                        if (sencondDepthLocation != null && sencondDepthLocation.LocationStatus == LocationStatusEnum.Free.ObjToInt())
                        {
                            locationCaches.Add(new LocationCache { DateTime = DateTime.Now, LocationCode = emptyLocations[i].LocationCode });
                            return emptyLocations[i];
                        }
                    }
                }
                return null;
            }
        }
        /// <summary>
        /// èŽ·å–å¯ç”¨è´§ä½
        /// </summary>
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_DTO/Task/WMSTaskDTO.cs
@@ -104,5 +104,10 @@
        public string MESbusinessId { get; set; }
        public string MESsubPalletCode { get; set; }
        /// <summary>
        /// å‡ºå…¥åº“口
        /// </summary>
        public string OutboundPlatform { get; set; }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs
@@ -62,5 +62,20 @@
        /// <param name="heightType"></param>
        /// <returns></returns>
        Dt_LocationInfo? AssignLocation(string roadwayNo,int warehouseId, string beRelocationCode = "");
        /// <summary>
        /// åº“位分配,无巷道号进行分配发
        /// </summary>
        /// <returns></returns>
        Dt_LocationInfo? GetLocationInfo();
        /// <summary>
        /// åˆ¤æ–­å··é“内移库,获取货位
        /// </summary>
        /// <param name="roadway"></param>
        /// <returns></returns>
        Dt_LocationInfo? GetLocation(string roadway);
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs
@@ -168,7 +168,7 @@
        [ExporterHeader(DisplayName = "MES业务流id")]
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "MES业务流id")]
        public string MESbusinessId { get; set; }
        /// <summary>
        /// æ‰˜ç›˜ç¼–号子托
        /// </summary>
@@ -176,5 +176,13 @@
        [ExporterHeader(DisplayName = "托盘编号子托")]
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "托盘编号子托")]
        public string MESsubPalletCode { get; set; }
        /// <summary>
        /// å‡ºåº“口
        /// </summary>
        [ImporterHeader(Name = "出库口")]
        [ExporterHeader(DisplayName = "出库口")]
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "出库口")]
        public string OutboundPlatform { get; set; }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs
@@ -145,18 +145,17 @@
                if (inboundTask.palletInfoList.Count > 0)
                {
                    List<Dt_Task> taskData = BaseDal.QueryData();
                    List<Dt_StockInfo> Stockdata = _stockRepository.QueryData();
                    Dt_StationManger dt_Station = _stationMangerService.QueryPlatform(inboundTask.NodeCode);
                    if (dt_Station == null) return MESresponse($"未找到站台信息,站台编号:{inboundTask.NodeCode}", false);
                    /*Dt_StationManger dt_Station = _stationMangerService.QueryPlatform(inboundTask.NodeCode);
                    if (dt_Station == null) return MESresponse($"未找到站台信息,站台编号:{inboundTask.NodeCode}", false);*/
                    foreach (PalletInfo palletInfo in inboundTask.palletInfoList)
                    {
                        Dt_LocationInfo location = null;
                        if (palletInfo.locationCode == null || palletInfo.locationCode == "")
                        {
                            Dt_Warehouse warehouse = _warehouseRepository.QueryFirst(x => x.WarehouseCode == dt_Station.StackerCraneCode);
                            location = _basicService.LocationInfoService.AssignLocation(dt_Station.StackerCraneCode, warehouse.WarehouseId, "");//获取到新库位
                            location = _basicService.LocationInfoService.GetLocationInfo();//获取到新库位
                        }
                        else
                        {
@@ -165,18 +164,45 @@
                        if (location == null) return MESresponse($"未找到货位信息,条码:{palletInfo.palletCode}", false);
                        if (location.LocationStatus != (int)LocationStatusEnum.Free) return MESresponse($"托盘条码:{palletInfo.palletCode},查找到的货位:{location.LocationCode},不为空货位!", false);
                        //创建组盘信息
                        var dt_Stock = new Dt_StockInfo
                        Dt_StockInfo dt_ = Stockdata.Where(x => x.PalletCode == palletInfo.palletCode).FirstOrDefault();
                        if (dt_ == null)
                        {
                            PalletCode = palletInfo.palletCode,
                            PalletType = 1,
                            LocationCode = location.LocationCode,
                            StockStatus = (int)StockStatusEmun.组盘暂存,
                            Creater = "WMS",
                            CreateDate = DateTime.Now,
                            MESsubPalletCode = palletInfo.palletCode,
                        };
                            //创建组盘信息
                            var dt_Stock = new Dt_StockInfo
                            {
                                PalletCode = palletInfo.palletCode,
                                PalletType = 1,
                                LocationCode = location.LocationCode,
                                StockStatus = (int)StockStatusEmun.组盘暂存,
                                Creater = "WMS",
                                CreateDate = DateTime.Now,
                                MESsubPalletCode = palletInfo.palletCode,
                            };
                            Adddtstockt.Add(dt_Stock);
                        }
                        else
                        {
                            if(dt_.StockStatus == (int)StockStatusEmun.已入库)
                            {
                                return MESresponse($"该库存条码已入库,不可重复入库,条码:{palletInfo.palletCode}", false);
                            }
                        }
                        string TaregtAddres = "";
                        if (inboundTask.NodeCode !="2011" && inboundTask.NodeCode != "2009")
                        {
                            int nextTaregt = int.Parse(inboundTask.NodeCode);
                            //确认目标站台(固定)
                             TaregtAddres = (nextTaregt + 1).ToString();
                        }
                        else
                        {
                            TaregtAddres = location.RoadwayNo == "SC01" ? "2021" : "2020";
                        }
                        location.LocationStatus = (int)LocationStatusEnum.InStockLock;
                        //生成移动任务
@@ -187,9 +213,9 @@
                            Roadway = location.RoadwayNo,
                            TaskType = TaskInboundTypeEnum.Inbound.ObjToInt(),
                            TaskStatus = TaskInStatusEnum.Line_InExecuting.ObjToInt(),
                            SourceAddress = dt_Station.StationCode,
                            SourceAddress = TaregtAddres,
                            TargetAddress = location.LocationCode,
                            CurrentAddress = dt_Station.StationCode,
                            CurrentAddress = TaregtAddres,
                            NextAddress = location.LocationCode,
                            Grade = 1,
                            Creater = "MES",
@@ -197,9 +223,10 @@
                            CreateDate = DateTime.Now,
                            MEStaskId = inboundTask.TaskId,
                            MESbusinessId = inboundTask.BusinessId,
                            MESsubPalletCode = palletInfo.subPalletCode
                            MESsubPalletCode = palletInfo.subPalletCode,
                            OutboundPlatform = inboundTask.NodeCode
                        };
                        Adddtstockt.Add(dt_Stock);
                        Adddt_Locations.Add(location);
                        AddtaskList.Add(dt_Task);
                    }
@@ -243,5 +270,6 @@
                throw;
            }
        }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs
@@ -67,6 +67,20 @@
                        dt_StockInfo.StockStatus = (int)StockStatusEmun.出库锁定;
                        locationInfo.LocationStatus = (int)LocationStatusEnum.InStockLock;
                        string TaregtAddres = "";
                        if (outbound.NodeCode != "2011" && outbound.NodeCode != "2009")
                        {
                            int nextTaregt = int.Parse(outbound.NodeCode);
                            //确认目标站台(固定)
                            TaregtAddres = (nextTaregt - 1).ToString();
                        }
                        else
                        {
                            TaregtAddres = locationInfo.RoadwayNo == "SC01" ? "2021" : "2020";
                        }
                        //生成移动任务
                        Dt_Task dt_Task = new()
                        {
@@ -83,9 +97,10 @@
                            Creater = "MES",
                            Depth = locationInfo.Depth,
                            CreateDate = DateTime.Now,
                            MEStaskId= outbound.TaskId,
                            MESbusinessId= outbound.BusinessId,
                            MESsubPalletCode= dt_StockInfo.MESsubPalletCode
                            MEStaskId = outbound.TaskId,
                            MESbusinessId = outbound.BusinessId,
                            MESsubPalletCode = dt_StockInfo.MESsubPalletCode,
                            OutboundPlatform = outbound.NodeCode
                        };
                        Adddtstockt.Add(dt_StockInfo);
                        Addlocations.Add(locationInfo);
@@ -96,9 +111,9 @@
                        _unitOfWorkManage.BeginTran();
                        _stockRepository.DeleteData(Adddtstockt);
                        _stockRepository.UpdateData(Adddtstockt);
                        _locationInfoRepository.UpdateData(Addlocations);
                        BaseDal.DeleteData(Addtaskdt);
                        BaseDal.AddData(Addtaskdt);
                        var respon = PushTasksToWCS(Addtaskdt,"");
                        if (respon.Status)
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -171,7 +171,7 @@
                    if (_Task != null) return content.Error($"货位编号:{Locatask}的浅货位库已有任务,不可进行移库");
                    //进行获取新的库位
                    Dt_LocationInfo? Nextlocation = _basicService.LocationInfoService.AssignLocation(DeepLocation.RoadwayNo, 0, "");//获取到新库位
                    Dt_LocationInfo? Nextlocation = _basicService.LocationInfoService.GetLocation(DeepLocation.RoadwayNo);//获取到新库位
                    if (Nextlocation == null)
                    {
                        return content.Error($"货位分配失败,未找到可分配货位");
@@ -364,11 +364,12 @@
                task.TaskStatus = TaskOutStatusEnum.OutFinish.ObjToInt();
                _unitOfWorkManage.BeginTran();
                _stockRepository.DeleteData(stockInfo);
                _locationInfoRepository.UpdateData(locationInfo);   //修改成空货位
                BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.自动完成 : OperateTypeEnum.人工完成);
                _locationStatusChangeRecordService.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockStatusEmun.出库完成.ObjToInt(), stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum);
                _locationStatusChangeRecordService.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockStatusEmun.出库完成.ObjToInt(), "1", task.TaskNum);
                /*WebResponseContent content = TaskCompletionFeedback(task);
                if (!content.Status)
                {
@@ -382,7 +383,7 @@
            catch (Exception ex)
            {
                _unitOfWorkManage.RollbackTran();
                return webResponse.Error($"移库任务完成失败,任务id:{task.TaskNum},错误原因:{ex.Message}");
                return webResponse.Error($"出库任务完成失败,任务id:{task.TaskNum},错误原因:{ex.Message}");
                throw;
            }
            
ÏîÄ¿×ÊÁÏ/½Ó¿ÚÇåµ¥/ÍÐÅÌ¿â½Ó¿ÚÇåµ¥V1.6.xlsx
Binary files differ