From a765da90e5ee63e04d2d8460a5ad1ebd0e8eb4db Mon Sep 17 00:00:00 2001
From: huanghongfeng <huanghongfeng@hnkhzn.com>
Date: 星期一, 15 七月 2024 21:43:59 +0800
Subject: [PATCH] 工单处理
---
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask.cs | 37 ++++++++++++++++++++++++++++++++-----
1 files changed, 32 insertions(+), 5 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 9d475f9..691465f 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"
@@ -12,6 +12,7 @@
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.Repositories;
using static FreeSql.Internal.GlobalFilter;
+using static System.Collections.Specialized.BitVector32;
namespace WIDESEA_WMS.Common
{
@@ -28,6 +29,27 @@
VOLContext context = new VOLContext();
Idt_agvtask_htyRepository htyRepository = new dt_agvtask_htyRepository(context);
Idt_agvtaskRepository repository = new dt_agvtaskRepository(context);
+ Idt_mes_headRepository idt_Mes_Head = new dt_mes_headRepository(context);
+ Idt_mes_detailRepository idt_Mes_Detail=new dt_mes_detailRepository(context);
+
+ if (task.agv_worktype == 17)
+ {
+ string[] bindSNs = task.bindSN.Split(",");
+ foreach (var item in bindSNs)
+ {
+ var mes_detail = idt_Mes_Detail.Find(x => x.SN == item).FirstOrDefault();
+ var mes_head= idt_Mes_Head.Find(x=>x.jobID==mes_detail.jobID).FirstOrDefault();
+ if(mes_head != null)
+ {
+
+ mes_head.agv_finishNum = mes_head.agv_finishNum == null ? task.agv_qty : mes_head.agv_finishNum + task.agv_qty;
+ idt_Mes_Head.Update(mes_head, x => new { x.agv_finishNum }, true);
+ break;
+ }
+ }
+
+ }
+
dt_agvtask_hty agvtask_Hty = new dt_agvtask_hty()
{
hty_pkid = Guid.NewGuid(),
@@ -99,7 +121,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();
@@ -167,7 +189,8 @@
if (task.agv_taskstate == AGVTaskStateEnum.Complete1.ToString())
{
- var station2 = stationinfoRepository.FindFirst(t => t.stationCode == task.agv_toaddress);
+ 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;
@@ -187,7 +210,8 @@
}
else if (task.agv_taskstate == AGVTaskStateEnum.Complete.ToString())
{
- var station1 = stationinfoRepository.FindFirst(t => t.stationCode == task.agv_fromaddress);
+ 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 +228,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 +251,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);
}
}
--
Gitblit v1.9.3