From 76eef0389848065963a295c66163a630697054fa Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期日, 07 七月 2024 09:47:01 +0800
Subject: [PATCH] PDA
---
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs | 40 ++++++++++++++++++++++++++++++++--------
1 files changed, 32 insertions(+), 8 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 cf72c64..b062dd8 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"
@@ -67,7 +67,18 @@
/// <param name="task"></param>
public static void Updateinventory(dt_agvtask task)
{
- if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceCarry.ToString())
+ VOLContext context = new VOLContext();
+ Idt_inventoryRepository inventoryRepository = new dt_inventoryRepository(context);
+ if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Carry.ToString())
+ {
+ var inventorys = inventoryRepository.Find(x => x.stationCode == task.agv_fromaddress).ToList();
+ foreach (var inventory in inventorys)
+ {
+ inventory.stationCode = task.agv_toaddress;
+ inventoryRepository.Update(inventory, true);
+ }
+ }
+ else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceCarry.ToString())
{
string[] bindSNs = task.bindSN.Split(",");
int count = 0;
@@ -88,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();
@@ -105,7 +116,8 @@
Operator = "admin",
stationCode = task.agv_toaddress,
area = station.area,
- jobID = mes_Work.workOrder,
+ jobID = mes_Work.jobID,
+ workOrder = mes_Work.workOrder,
ID = Guid.NewGuid()
};
inventorys.Add(inventory);
@@ -152,15 +164,15 @@
{
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;
- else if (station2.area == "10" || station2.area == "11") //鍏ュ簱绌烘墭浠诲姟
+ else if (station2.area == "10" || station2.area == "11" || (station2.stationCode.Contains("C") && task.agv_tasktype == "TaskType_EmptyPallet") || station2.stationCode.Contains("DD")) //鍏ュ簱绌烘墭浠诲姟
station2.quantity = station2.quantity + task.agv_qty;
else
station2.quantity = task.agv_qty;
@@ -171,10 +183,13 @@
station2.stationType = task.agv_materielid;
station2.tray_status = task.agv_TrayStatus;//妯斁/绔栨斁
station2.tray_type = task.agv_Traytype;
+ station2.lastUpdateTime = DateTime.Now;
stationinfoRepository.Update(station2, true);
}
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;
@@ -186,8 +201,14 @@
//else
// station1.quantity = 0;
#endregion
-
- if (station1.area == "10" || station1.area == "11") //鍑哄簱绌烘墭浠诲姟
+ if (station1.stationCode.Contains("DD"))//鍙犵洏搴撲綅
+ {
+ 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") || station1.stationCode.Contains("B"))
+ && task.agv_tasktype == AGVTaskTypeEnum.TaskType_EmptyPallet.ToString())) //鍑哄簱绌烘墭浠诲姟
{
station1.location_state = LocationStateEnum.Stroge.ToString();
station1.quantity = station1.quantity - 1;
@@ -200,6 +221,7 @@
{
station1.location_state = LocationStateEnum.Empty.ToString();
station1.Number = string.Empty;
+ station1.billetID = string.Empty;
station1.heatNumber = string.Empty;
station1.stationType = string.Empty;
station1.tray_status = string.Empty;
@@ -207,6 +229,8 @@
//if (!station1.stationCode.Contains("X") && !station1.stationCode.Contains("S") && !station1.stationCode.Contains("W01001004") && !station1.stationCode.Contains("W01001005"))
// station1.tray_type = string.Empty;
}
+ if (!station1.stationCode.Contains("DD"))
+ station1.lastUpdateTime = DateTime.Now;
stationinfoRepository.Update(station1, true);
}
}
--
Gitblit v1.9.3