From db6156a92cc59467bde608a00c76952ebc75e488 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期二, 05 三月 2024 09:51:05 +0800 Subject: [PATCH] 优化代码 --- 代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs | 94 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 78 insertions(+), 16 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs" index 210fd6c..c0697aa 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/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("搴撳瓨娓呴櫎澶辫触锛丼N鍙�:" + 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); } } -- Gitblit v1.9.3