分支自 SuZhouGuanHong/TaiYuanTaiZhong

dengjunjie
2024-06-21 1a15a93fd26457ef3da68d931fd941e652945a9b
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs
@@ -99,7 +99,7 @@
                List<dt_inventory> inventorys = new List<dt_inventory>();
                foreach (string bindSN in bindSNs)
                {
                    var mes_Work = freeDB.Select<VV_Mes_Workinfo>().Where(x => x.SN == bindSN && x.processCode == "17").First();
                    var mes_Work = freeDB.Select<VV_Mes_Workinfo>().Where(x => x.SN == bindSN && x.processCode == "17").OrderByDescending(x => x.CreateTime).First();
                    if (mes_Work == null)
                        throw new Exception("未找到工单信息!");
                    var station = freeDB.Select<dt_stationinfo>().Where(x => x.stationCode == task.agv_toaddress).First();
@@ -164,11 +164,11 @@
        {
            VOLContext context = new VOLContext();
            Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context);
            var station1 = stationinfoRepository.FindFirst(t => t.stationCode == task.agv_fromaddress);
            var station2 = stationinfoRepository.FindFirst(t => t.stationCode == task.agv_toaddress);
            if (task.agv_taskstate == AGVTaskStateEnum.Complete1.ToString())
            {
                var station2 = stationinfoRepository.FindFirst(t => t.stationCode == task.agv_toaddress);
                if (station2 == null) throw new Exception("未找到终点地址!");
                ////空托任务需修改逻辑
                if (station2.stationCode.Contains("X"))
                    station2.quantity = 0;// task.agv_tasktype.Contains("TaskType_EmptyPallet") ? 0 : task.agv_qty; //task.agv_qty;
@@ -188,6 +188,8 @@
            }
            else if (task.agv_taskstate == AGVTaskStateEnum.Complete.ToString())
            {
                var station1 = stationinfoRepository.FindFirst(t => t.stationCode == task.agv_fromaddress);
                if (station1 == null) throw new Exception("未找到起点地址!");
                #region MyRegion
                //if (station1.stationCode.Contains("S"))
                //    station1.quantity = 0;
@@ -204,7 +206,9 @@
                    station1.quantity = station1.quantity - task.agv_qty;
                    station1.location_state = LocationStateEnum.Stroge.ToString();
                }
                else if (station1.area == "10" || station1.area == "11" || (station1.stationCode.Contains("C") && task.agv_tasktype == "TaskType_EmptyPallet")) //出库空托任务
                else if (station1.area == "10" || station1.area == "11"
                    || ((station1.stationCode.Contains("C") || station1.stationCode.Contains("B"))
                    && task.agv_tasktype == AGVTaskTypeEnum.TaskType_EmptyPallet.ToString())) //出库空托任务
                {
                    station1.location_state = LocationStateEnum.Stroge.ToString();
                    station1.quantity = station1.quantity - 1;
@@ -225,7 +229,8 @@
                    //if (!station1.stationCode.Contains("X") && !station1.stationCode.Contains("S") && !station1.stationCode.Contains("W01001004") && !station1.stationCode.Contains("W01001005"))
                    //    station1.tray_type = string.Empty;
                }
                station1.lastUpdateTime = DateTime.Now;
                if (!station1.stationCode.Contains("DD"))
                    station1.lastUpdateTime = DateTime.Now;
                stationinfoRepository.Update(station1, true);
            }
        }