分支自 SuZhouGuanHong/TaiYuanTaiZhong

dengjunjie
2024-03-05 db6156a92cc59467bde608a00c76952ebc75e488
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs
@@ -30,7 +30,7 @@
            dt_agvtask_hty agvtask_Hty = new dt_agvtask_hty()
            {
                hty_pkid = Guid.NewGuid(),
                agv_id = Guid.Empty,
                agv_id = task.agv_id,
                agv_tasknum = task.agv_tasknum,
                agv_materielid = task.agv_materielid,
                agv_qty = task.agv_qty,
@@ -39,7 +39,7 @@
                agv_executingBeginTime = task.agv_executingBeginTime,
                agv_executingEndTime = task.agv_executingEndTime,
                agv_completeBeginTime = task.agv_completeBeginTime,
                agv_finishedtime = DateTime.Now,
                agv_finishedtime = task.agv_finishedtime,
                agv_taskstate = task.agv_taskstate,
                agv_tasktype = task.agv_tasktype,
                agv_fromaddress = task.agv_fromaddress,
@@ -52,7 +52,9 @@
                agv_barcode = task.agv_barcode,
                agv_code = task.agv_code,
                agv_worktype = task.agv_worktype,
                agv_remark = task.agv_remark
                agv_remark = task.agv_remark,
                bindSN = task.bindSN,
                agv_materbarcode = task.agv_materbarcode,
            };
            htyRepository.Add(agvtask_Hty, true);
            repository.Delete(task, true);
@@ -64,22 +66,76 @@
        public static void Updateinventory(dt_agvtask task)
        {
            string[] bindSNs = task.bindSN.Split(",");
            int count = 0;
            if (bindSNs.Length > 0)
            {
                var Materiel = QueryData.QueryMateriel(task.agv_materielid);
                List<dt_inventory> inventorys = new List<dt_inventory>();
                foreach (string bindSN in bindSNs)
                if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceCarry.ToString())
                {
                    dt_inventory inventory = new dt_inventory()
                    foreach (var bindSN in bindSNs)
                    {
                        SN = bindSN,//待完善
                    };
                    inventorys.Add(inventory);
                        //List<dt_inventory> inventorys = new List<dt_inventory>();
                        var inventory = freeDB.Select<dt_inventory>().Where(x => x.SN == bindSN).First();
                        //inventorys.Add(inventory);
                        count = freeDB.Remove(inventory);
                        if (count < 1)
                            throw new Exception("库存清除失败!SN号:" + bindSN);
                    }
                }
                if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString())
                    freeDB.AddRange(inventorys);
                else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceOutbound.ToString())
                    freeDB.Remove(inventorys);
                else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString())
                {
                    List<dt_inventory> inventorys = new List<dt_inventory>();
                    foreach (string bindSN in bindSNs)
                    {
                        var mes_detail = freeDB.Select<dt_mes_detail>().Where(x => x.SN == bindSN).First();
                        var mes_head = freeDB.Select<dt_mes_head>().Where(x => x.jobID == mes_detail.jobID).First();
                        var station = freeDB.Select<dt_stationinfo>().Where(x => x.stationCode == task.agv_toaddress).First();
                        dt_inventory inventory = new dt_inventory()
                        {
                            SN = bindSN,
                            Name = mes_head.productName,
                            FigureNumber = mes_head.drawingNo,
                            //HearthNumber = "",
                            HeatNumber = mes_detail.heatID,
                            BilletNumber = mes_detail.billetID,
                            OnlineTime = task.agv_finishedtime,
                            Operator = "admin",
                            stationCode = task.agv_toaddress,
                            area = station.area,
                            jobID = mes_detail.jobID,
                            ID = Guid.NewGuid()
                        };
                        inventorys.Add(inventory);
                    }
                    count = freeDB.AddRange(inventorys);
                    if (count < 1)
                        throw new Exception("库存添加失败!库位号:" + task.agv_toaddress);
                }
                //var Materiel = QueryData.QueryMateriel(task.agv_materielid);
                //List<dt_inventory> inventorys = new List<dt_inventory>();
                //foreach (string bindSN in bindSNs)
                //{
                //    dt_inventory inventory = new dt_inventory()
                //    {
                //        SN = bindSN,//待完善
                //        Name = "",
                //        FigureNumber = "",
                //        //HearthNumber = "",
                //        HeatNumber = "",
                //        //BilletNumber=,
                //        OnlineTime = task.agv_finishedtime,
                //        Operator = "admin",
                //        stationCode = task.agv_toaddress,
                //        area = "",
                //        jobID = "",
                //    };
                //    inventorys.Add(inventory);
                //}
                //if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString())
                //    freeDB.AddRange(inventorys);
                //else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceOutbound.ToString())
                //    freeDB.Remove(inventorys);
            }
        }
@@ -97,13 +153,19 @@
            station2.quantity = station1.quantity;
            station2.bindSN = station1.bindSN;
            station2.location_state = LocationStateEnum.Stroge.ToString();
            station2.tray_status = station1.tray_status;
            station2.Number = task.jobID;
            station2.heatNumber = station1.heatNumber;
            station2.stationType = station1.stationType;
            station2.tray_status = station1.tray_status;//横放/竖放
            stationinfoRepository.Update(station2, true);
            station1.quantity = 0;
            station1.bindSN = string.Empty;
            station1.location_state = LocationStateEnum.Empty.ToString();
            station1.tray_status = string.Empty;
            station1.Number = string.Empty;
            station1.heatNumber = string.Empty;
            station1.stationType = string.Empty;
            station1.tray_status = LocationStateEnum.Empty.ToString();
            stationinfoRepository.Update(station1, true);
        }
    }