From 8f392cc88b0768b74efca3b68785cf5aa1c38e70 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期三, 06 十一月 2024 14:28:20 +0800
Subject: [PATCH] 代码更新
---
wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_BCK_Task.cs | 509 +++++++++++++++++++++++++++++--------------------------
1 files changed, 269 insertions(+), 240 deletions(-)
diff --git a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_BCK_Task.cs b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_BCK_Task.cs
index 459d0d3..f0ca42f 100644
--- a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_BCK_Task.cs
+++ b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_BCK_Task.cs
@@ -3,6 +3,7 @@
using System;
using System.Linq;
using System.Threading;
+using System.Threading.Tasks;
using WIDESEA_Common;
using WIDESEA_Common.DBHelper;
using WIDESEA_Common.LoctionEnum;
@@ -27,192 +28,51 @@
{
if (Interlocked.Exchange(ref _readZBCKSignalsoZ, 1) == 0)
{
-
- try
+ Task.Run(() =>
{
- FreeDB freeDB = new FreeDB();
- VOLContext Context = new VOLContext();
- Ibase_ware_locationRepository locRepository = new base_ware_locationRepository(Context);
- Ibase_routing_tableRepository routingRepository = new base_routing_tableRepository(Context);
- Idt_agvtaskRepository agvRepository = new dt_agvtaskRepository(Context);
-
- //34鍑哄彛锛屼緵缁欒緤鍒嗕笂鏂欏彛
- var location_34 = freeDB.Select<base_ware_location>().Where(t => t.upper_code == "ZJ-BCHCJ32" && t.task == 2 && t.status == 1).First();
- //34绌烘灦绔嬪嵆琛ユ枡
- if (location_34 != null)
+ try
{
- if (location_34.location_state == LoctionStateEnum.LocationState_Empty.ToString() && location_34.tpgd == 0)
+ FreeDB freeDB = new FreeDB();
+ VOLContext Context = new VOLContext();
+ Ibase_ware_locationRepository locRepository = new base_ware_locationRepository(Context);
+ Ibase_routing_tableRepository routingRepository = new base_routing_tableRepository(Context);
+ Idt_agvtaskRepository agvRepository = new dt_agvtaskRepository(Context);
+
+ //34鍑哄彛锛屼緵缁欒緤鍒嗕笂鏂欏彛
+ var location_34 = freeDB.Select<base_ware_location>().Where(t => t.upper_code == "ZJ-BCHCJ32" && t.task == 2 && t.status == 1).First();
+ //34绌烘灦绔嬪嵆琛ユ枡
+ dt_agvtask dt_Agvtask34 = agvRepository.FindFirst(x => x.agv_toaddress == "ZJ-BCHCJ32");
+ if (dt_Agvtask34 != null && location_34.task == 2)
{
- var location_34_cp = freeDB.Select<base_ware_location>().Where(t => t.location_state == "LocationState_Stored" && t.logic_row.ToString() == "TBXL-BCK" && t.logic_col == 1/*姝e父鏂�*/ && t.status == 1 && t.upper_code.Contains("ZJ-BCHCJ") && t.status == 1 && t.light_color != "SB" && t.task == 2).OrderBy(t => t.update_time).First();
-
- //dt_agvtask task_34 = agvRepository.Find(t => t.agv_fromaddress == "FJ-BCHCJ34" || t.agv_toaddress == "FJ-BCHCJ34").FirstOrDefault();
-
- if (location_34_cp != null)//鎵惧埌鍚堥�傝揣浣嶏紝鐢熸垚琛ユ枡鎼繍浠诲姟
+ location_34.update_time = DateTime.Now;
+ location_34.task = 1;
+ location_34.logic_col = 1;
+ var entrys = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
+ if (entrys != null)
{
-
- //34璐т綅琛ユ枡浠诲姟
- dt_agvtask agvtask = new dt_agvtask();
- agvtask.agv_id = Guid.NewGuid();
- agvtask.agv_tasknum = "KH-" + IdenxManager.GetTaskNo();
- agvtask.agv_fromaddress = location_34_cp.upper_code;
- agvtask.agv_toaddress = location_34.upper_code;
- agvtask.agv_code = "姝f瀬AGV璋冨害";
- agvtask.agv_remark = "姝f瀬绠旀潗搴撴惉杩�(34琛ユ枡)";
- agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString();
- agvtask.agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString();
- agvtask.agv_worktype = 1;//宸ヤ綔绫诲瀷
- agvtask.agv_materielid = "";
- agvtask.agv_qty = 1;
- agvtask.agv_createtime = DateTime.Now;
- agvtask.agv_grade = 0;//浠诲姟浼樺厛绾�
- agvtask.agv_userid = "WCS";
- agvtask.agv_barcode = "";
-
- //閿佸畾棣栧熬璐т綅
- location_34_cp.task = 1;
-
- location_34_cp.update_time = DateTime.Now;
- var entry = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
- if (entry != null)
- {
- entry.State = EntityState.Detached;
- }
- int begin= locRepository.Update(location_34_cp, d => new { d.update_time, d.task }, true);
-
- location_34.task = 1;
- location_34.logic_col = 1;
- location_34.update_time = DateTime.Now;
- var entrys = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
- if (entrys != null)
- {
- entrys.State = EntityState.Detached;
- }
- int end= locRepository.Update(location_34, d => new { d.update_time, d.task, d.logic_col }, true);
- if (begin == 1 && end == 1)
- {
-
- agvRepository.Add(agvtask, true);
-
- WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum}", $"绠旀潗搴撲换鍔$敓鎴�");
-
- WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"璧风偣璐т綅銆恵location_34_cp.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_34_cp.tpgd},鐘舵�侊細{location_34_cp.location_state},鏇存柊鏃堕棿锛歿location_34_cp.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
-
- WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"缁堢偣璐т綅銆恵location_34.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_34.tpgd},鐘舵�侊細{location_34.location_state},鏇存柊鏃堕棿锛歿location_34.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
-
- WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛 {DateTime.Now} -------------- {Environment.NewLine}", $"绠旀潗搴撲换鍔$敓鎴�");
- }
+ entrys.State = EntityState.Detached;
}
-
+ int end = locRepository.Update(location_34, true);
}
- }
-
- //36鍑哄彛锛屼緵缁欐秱甯冧笂鏂欏彛
- var location_36 = freeDB.Select<base_ware_location>().Where(t => t.upper_code == "ZJ-BCHCJ34" && t.task == 2 && t.status == 1 ).First();
- //36绌烘灦绔嬪嵆琛ユ枡
- if (location_36 != null)
- {
- if (location_36.location_state == LoctionStateEnum.LocationState_Empty.ToString() && location_36.tpgd == 0)
+ if (location_34 != null && dt_Agvtask34 == null)
{
- var location_36_cp = freeDB.Select<base_ware_location>().Where(t => t.location_state == "LocationState_Stored" && t.logic_row.ToString() == "TSJXL-BCK" && t.logic_col == 1 && t.status == 1 && t.upper_code.Contains("ZJ-BCHCJ") && t.light_color != "SB" && t.task == 2).OrderBy(t => t.update_time).First();
-
- //dt_agvtask task_36 = agvRepository.Find(t => t.agv_fromaddress == "FJ-BCHCJ36" || t.agv_toaddress == "FJ-BCHCJ36").FirstOrDefault();
-
- if (location_36_cp != null)//鎵惧埌鍚堥�傝揣浣嶏紝鐢熸垚琛ユ枡鎼繍浠诲姟
+ if (location_34.location_state == LoctionStateEnum.LocationState_Empty.ToString() && location_34.tpgd == 0)
{
+ var location_34_cp = freeDB.Select<base_ware_location>().Where(t => t.location_state == "LocationState_Stored" && t.logic_row.ToString() == "TBXL-BCK" && t.logic_col == 1/*姝e父鏂�*/ && t.status == 1 && t.upper_code.Contains("ZJ-BCHCJ") && t.status == 1 && t.light_color != "SB" && t.task == 2).OrderBy(t => t.update_time).First();
- //36璐т綅琛ユ枡浠诲姟
- dt_agvtask agvtask = new dt_agvtask();
- agvtask.agv_id = Guid.NewGuid();
- agvtask.agv_tasknum = "KH-" + IdenxManager.GetTaskNo();
- agvtask.agv_fromaddress = location_36_cp.upper_code;
- agvtask.agv_toaddress = location_36.upper_code;
- agvtask.agv_code = "姝f瀬AGV璋冨害";
- agvtask.agv_remark = "姝f瀬绠旀潗搴撴惉杩�(36琛ユ枡)";
- agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString();
- agvtask.agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString();
- agvtask.agv_worktype = 1;//宸ヤ綔绫诲瀷
- agvtask.agv_materielid = "";
- agvtask.agv_qty = 1;
- agvtask.agv_createtime = DateTime.Now;
- agvtask.agv_grade = 0;//浠诲姟浼樺厛绾�
- agvtask.agv_userid = "WCS";
- agvtask.agv_barcode = "";
-
- //閿佸畾棣栧熬璐т綅
- location_36_cp.update_time = DateTime.Now;
- location_36_cp.task = 1;
+ //dt_agvtask task_34 = agvRepository.Find(t => t.agv_fromaddress == "FJ-BCHCJ34" || t.agv_toaddress == "FJ-BCHCJ34").FirstOrDefault();
- var entrys = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
- if (entrys != null)
+ if (location_34_cp != null)//鎵惧埌鍚堥�傝揣浣嶏紝鐢熸垚琛ユ枡鎼繍浠诲姟
{
- entrys.State = EntityState.Detached;
- }
- int begin= locRepository.Update(location_36_cp, d => new { d.update_time, d.task }, true);
- location_36.update_time = DateTime.Now;
- location_36.task = 1;
- location_36.logic_col = 1;
- var entry = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
- if (entry != null)
- {
- entry.State = EntityState.Detached;
- }
- int end= locRepository.Update(location_36, d => new { d.update_time, d.task, d.logic_col }, true);
- if (begin == 1 && end == 1)
- {
- agvRepository.Add(agvtask, true);
-
- WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum}", $"绠旀潗搴撲换鍔$敓鎴�");
-
- WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"璧风偣璐т綅銆恵location_36_cp.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_36_cp.tpgd},鐘舵�侊細{location_36_cp.location_state},鏇存柊鏃堕棿锛歿location_36_cp.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
-
- WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"缁堢偣璐т綅銆恵location_36.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_36.tpgd},鐘舵�侊細{location_36.location_state},鏇存柊鏃堕棿锛歿location_36.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
-
- WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛 {DateTime.Now} -------------- {Environment.NewLine}", $"绠旀潗搴撲换鍔$敓鎴�");
- }
- }
-
- }
- }
- //35鍏ュ彛锛屼緵娑傚竷涓嬫枡
- var location_35 = freeDB.Select<base_ware_location>().Where(t => t.upper_code == "ZJ-BCHCJ33" && t.location_state == "LocationState_Stored" && t.status == 1 && t.task == 2).First();
- //35鏈夋枡绔嬪嵆鎼蛋
- if (location_35 != null)
- {
- if (location_35.location_state == LocationStateEnum.LocationState_Stored.ToString() && location_35.tpgd == 1 && (location_35.logic_row == "TBXL-BCK" || location_35.logic_col == 1))
- {
- int index = 0;
- int b = 7;
- DateTime time = DateTime.Now;
- Double STAMP = 0;
- do
- {
- DateTime time2 = DateTime.Now;
- STAMP = (time2 - time).TotalSeconds;
- base_ware_location ware_Location = locRepository.FindFirst(d => d.upper_code == location_35.upper_code
- && d.location_state == LocationStateEnum.LocationState_Stored.ToString() && d.status == 1 && location_35.tpgd == 1 && (location_35.logic_row == "TBXL-BCK" || location_35.logic_col == 1) && d.task == 2);
- if (ware_Location == null)
- {
- index = 3;
- break;
- }
-
- } while (STAMP < b);
- if (index != 3)
- {
- var location_35_cp = freeDB.Select<base_ware_location>().Where(t => t.location_state == "LocationState_Empty" && t.upper_code.Contains("ZJ-BCHCJ") && t.status == 1 && t.light_color != "SB" && t.task == 2).OrderBy(d => Int32.Parse(d.light_color)).First();
- //dt_agvtask task_35 = agvRepository.Find(t => t.agv_fromaddress == "FJ-BCHCJ35" || t.agv_toaddress == "FJ-BCHCJ35").FirstOrDefault();
-
- if (location_35_cp != null)//鎵惧埌鍚堥�傝揣浣嶏紝鐢熸垚鎼繍浠诲姟
- {
- //35璐т綅琛ユ枡浠诲姟
+ //34璐т綅琛ユ枡浠诲姟
dt_agvtask agvtask = new dt_agvtask();
agvtask.agv_id = Guid.NewGuid();
agvtask.agv_tasknum = "KH-" + IdenxManager.GetTaskNo();
- agvtask.agv_fromaddress = location_35.upper_code;
- agvtask.agv_toaddress = location_35_cp.upper_code;
+ agvtask.agv_fromaddress = location_34_cp.upper_code;
+ agvtask.agv_toaddress = location_34.upper_code;
agvtask.agv_code = "姝f瀬AGV璋冨害";
- agvtask.agv_remark = "姝f瀬绠旀潗搴撴惉杩�(35)";
+ agvtask.agv_remark = "姝f瀬绠旀潗搴撴惉杩�(34琛ユ枡)";
agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString();
agvtask.agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString();
agvtask.agv_worktype = 1;//宸ヤ綔绫诲瀷
@@ -224,80 +84,78 @@
agvtask.agv_barcode = "";
//閿佸畾棣栧熬璐т綅
- location_35_cp.task = 1;
- location_35_cp.update_time = DateTime.Now;
- //location_35_cp.logic_row = "TBXL-BCK";
+ location_34_cp.task = 1;
+
+ location_34_cp.update_time = DateTime.Now;
var entry = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
if (entry != null)
{
entry.State = EntityState.Detached;
}
- int end= locRepository.Update(location_35_cp, d => new { d.update_time, d.task }, true);
+ int begin = locRepository.Update(location_34_cp, d => new { d.update_time, d.task }, true);
- location_35.update_time = DateTime.Now;
- location_35.task = 1;
+ location_34.task = 1;
+ location_34.logic_col = 1;
+ location_34.update_time = DateTime.Now;
var entrys = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
if (entrys != null)
{
entrys.State = EntityState.Detached;
}
- int begin= locRepository.Update(location_35, d => new { d.update_time, d.task }, true);
-
+ int end = locRepository.Update(location_34, d => new { d.update_time, d.task, d.logic_col }, true);
if (begin == 1 && end == 1)
{
+
agvRepository.Add(agvtask, true);
- WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum}", $"绠旀潗搴撲换鍔$敓鎴�");
+ //WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum}", $"绠旀潗搴撲换鍔$敓鎴�");
- WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"璧风偣璐т綅銆恵location_35.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_35.tpgd},鐘舵�侊細{location_35.location_state},鏇存柊鏃堕棿锛歿location_35.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
+ //WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"璧风偣璐т綅銆恵location_34_cp.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_34_cp.tpgd},鐘舵�侊細{location_34_cp.location_state},鏇存柊鏃堕棿锛歿location_34_cp.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
- WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"缁堢偣璐т綅銆恵location_35_cp.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_35_cp.tpgd},鐘舵�侊細{location_35_cp.location_state},鏇存柊鏃堕棿锛歿location_35_cp.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
+ //WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"缁堢偣璐т綅銆恵location_34.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_34.tpgd},鐘舵�侊細{location_34.location_state},鏇存柊鏃堕棿锛歿location_34.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
- WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛 {DateTime.Now} -------------- {Environment.NewLine}", $"绠旀潗搴撲换鍔$敓鎴�");
+ //WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛 {DateTime.Now} -------------- {Environment.NewLine}", $"绠旀潗搴撲换鍔$敓鎴�");
}
}
+
}
}
- }
- //37鍏ュ彛锛屼緵鎻愬崌鏈轰笅鏂�
- var location_37 = freeDB.Select<base_ware_location>().Where(t => t.upper_code == "ZJ-BCHCJ35" && t.location_state == "LocationState_Stored" && t.status == 1 && t.task == 2).First();
- //37鏈夋枡绔嬪嵆鎼蛋
- if (location_37 != null)
- {
- if (location_37.location_state == LocationStateEnum.LocationState_Stored.ToString() && location_37.tpgd == 1 && (location_37.logic_row == "TSJXL-BCK" || location_37.logic_col == 1))
+ //36鍑哄彛锛屼緵缁欐秱甯冧笂鏂欏彛
+ var location_36 = freeDB.Select<base_ware_location>().Where(t => t.upper_code == "ZJ-BCHCJ34" && t.task == 2 && t.status == 1).First();
+ //36绌烘灦绔嬪嵆琛ユ枡
+ dt_agvtask dt_Agvtask36 = agvRepository.FindFirst(x => x.agv_toaddress == "ZJ-BCHCJ34");
+ if (dt_Agvtask36 != null && location_36.task == 2)
{
- int index = 0;
- int b = 7;
- DateTime time = DateTime.Now;
- Double STAMP = 0;
- do
+ location_36.update_time = DateTime.Now;
+ location_36.task = 1;
+ location_36.logic_col = 1;
+ var entrys = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
+ if (entrys != null)
{
- DateTime time2 = DateTime.Now;
- STAMP = (time2 - time).TotalSeconds;
- base_ware_location ware_Location = locRepository.FindFirst(d => d.upper_code == location_37.upper_code
- && d.location_state == LocationStateEnum.LocationState_Stored.ToString() && location_37.tpgd == 1 && d.status == 1 && (location_37.logic_row == "TSJXL-BCK" || location_37.logic_col == 1) && d.task == 2);
- if (ware_Location == null)
- {
- index = 3;
- break;
- }
+ entrys.State = EntityState.Detached;
+ }
+ int end = locRepository.Update(location_36, true);
+ }
+ if (location_36 != null && dt_Agvtask36==null)
+ {
+ if (location_36.location_state == LoctionStateEnum.LocationState_Empty.ToString() && location_36.tpgd == 0)
+ {
+ var location_36_cp = freeDB.Select<base_ware_location>().Where(t => t.location_state == "LocationState_Stored" && t.logic_row.ToString() == "TSJXL-BCK" && t.logic_col == 1 && t.status == 1 && t.upper_code.Contains("ZJ-BCHCJ") && t.light_color != "SB" && t.task == 2).OrderBy(t => t.update_time).First();
- } while (STAMP < b);
- if (index != 3)
- {
- var location_37_cp = freeDB.Select<base_ware_location>().Where(t => t.location_state == "LocationState_Empty" && t.upper_code.Contains("ZJ-BCHCJ") && t.status == 1 && t.light_color != "SB" && t.task == 2).OrderBy(d => Int32.Parse(d.light_color)).First();
- //dt_agvtask task_37 = agvRepository.Find(t => t.agv_fromaddress == "FJ-BCHCJ37" || t.agv_toaddress == "FJ-BCHCJ37").FirstOrDefault();
- if (location_37_cp != null)//鎵惧埌鍚堥�傝揣浣嶏紝鐢熸垚鎼繍浠诲姟
+ //dt_agvtask task_36 = agvRepository.Find(t => t.agv_fromaddress == "FJ-BCHCJ36" || t.agv_toaddress == "FJ-BCHCJ36").FirstOrDefault();
+
+ if (location_36_cp != null)//鎵惧埌鍚堥�傝揣浣嶏紝鐢熸垚琛ユ枡鎼繍浠诲姟
{
+
//36璐т綅琛ユ枡浠诲姟
dt_agvtask agvtask = new dt_agvtask();
agvtask.agv_id = Guid.NewGuid();
agvtask.agv_tasknum = "KH-" + IdenxManager.GetTaskNo();
- agvtask.agv_fromaddress = location_37.upper_code;
- agvtask.agv_toaddress = location_37_cp.upper_code;
+ agvtask.agv_fromaddress = location_36_cp.upper_code;
+ agvtask.agv_toaddress = location_36.upper_code;
agvtask.agv_code = "姝f瀬AGV璋冨害";
- agvtask.agv_remark = "姝f瀬绠旀潗搴撴惉杩�(37)";
+ agvtask.agv_remark = "姝f瀬绠旀潗搴撴惉杩�(36琛ユ枡)";
agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString();
agvtask.agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString();
agvtask.agv_worktype = 1;//宸ヤ綔绫诲瀷
@@ -309,56 +167,227 @@
agvtask.agv_barcode = "";
//閿佸畾棣栧熬璐т綅
- location_37_cp.task = 1;
- location_37_cp.update_time = DateTime.Now;
- //location_37_cp.logic_row = "TSJXL-BCK";
- var entry = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
- if (entry != null)
- {
- entry.State = EntityState.Detached;
- }
- int end= locRepository.Update(location_37_cp, d => new { d.task, d.update_time }, true);
+ location_36_cp.update_time = DateTime.Now;
+ location_36_cp.task = 1;
- location_37.task = 1;
- location_37.update_time = DateTime.Now;
var entrys = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
if (entrys != null)
{
entrys.State = EntityState.Detached;
}
- int begin= locRepository.Update(location_37, d => new { d.task, d.update_time }, true);
+ int begin = locRepository.Update(location_36_cp, d => new { d.update_time, d.task }, true);
-
-
+ location_36.update_time = DateTime.Now;
+ location_36.task = 1;
+ location_36.logic_col = 1;
+ var entry = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
+ if (entry != null)
+ {
+ entry.State = EntityState.Detached;
+ }
+ int end = locRepository.Update(location_36, d => new { d.update_time, d.task, d.logic_col }, true);
if (begin == 1 && end == 1)
{
agvRepository.Add(agvtask, true);
- WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum}", $"绠旀潗搴撲换鍔$敓鎴�");
+ //WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum}", $"绠旀潗搴撲换鍔$敓鎴�");
- WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"璧风偣璐т綅銆恵location_37.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_37.tpgd},鐘舵�侊細{location_37.location_state},鏇存柊鏃堕棿锛歿location_37.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
+ //WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"璧风偣璐т綅銆恵location_36_cp.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_36_cp.tpgd},鐘舵�侊細{location_36_cp.location_state},鏇存柊鏃堕棿锛歿location_36_cp.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
- WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"缁堢偣璐т綅銆恵location_37_cp.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_37_cp.tpgd},鐘舵�侊細{location_37_cp.location_state},鏇存柊鏃堕棿锛歿location_37_cp.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
+ //WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"缁堢偣璐т綅銆恵location_36.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_36.tpgd},鐘舵�侊細{location_36.location_state},鏇存柊鏃堕棿锛歿location_36.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
- WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛 {DateTime.Now} -------------- {Environment.NewLine}", $"绠旀潗搴撲换鍔$敓鎴�");
+ //WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛 {DateTime.Now} -------------- {Environment.NewLine}", $"绠旀潗搴撲换鍔$敓鎴�");
+ }
+ }
+
+ }
+ }
+ //35鍏ュ彛锛屼緵娑傚竷涓嬫枡
+ var location_35 = freeDB.Select<base_ware_location>().Where(t => t.upper_code == "ZJ-BCHCJ33" && t.location_state == "LocationState_Stored" && t.status == 1 && t.task == 2).First();
+ //35鏈夋枡绔嬪嵆鎼蛋
+ if (location_35 != null)
+ {
+ if (location_35.location_state == LocationStateEnum.LocationState_Stored.ToString() && location_35.tpgd == 1 && (location_35.logic_row == "TBXL-BCK" || location_35.logic_col == 1))
+ {
+ int index = 0;
+ int b = 7;
+ DateTime time = DateTime.Now;
+ Double STAMP = 0;
+ do
+ {
+ DateTime time2 = DateTime.Now;
+ STAMP = (time2 - time).TotalSeconds;
+ base_ware_location ware_Location = locRepository.FindFirst(d => d.upper_code == location_35.upper_code
+ && d.location_state == LocationStateEnum.LocationState_Stored.ToString() && d.status == 1 && location_35.tpgd == 1 && (location_35.logic_row == "TBXL-BCK" || location_35.logic_col == 1) && d.task == 2);
+ if (ware_Location == null)
+ {
+ index = 3;
+ break;
+ }
+
+ } while (STAMP < b);
+ if (index != 3)
+ {
+ var location_35_cp = freeDB.Select<base_ware_location>().Where(t => t.location_state == "LocationState_Empty" && t.upper_code.Contains("ZJ-BCHCJ") && t.status == 1 && t.light_color != "SB" && t.task == 2).OrderBy(d => Int32.Parse(d.light_color)).First();
+ //dt_agvtask task_35 = agvRepository.Find(t => t.agv_fromaddress == "FJ-BCHCJ35" || t.agv_toaddress == "FJ-BCHCJ35").FirstOrDefault();
+
+ if (location_35_cp != null)//鎵惧埌鍚堥�傝揣浣嶏紝鐢熸垚鎼繍浠诲姟
+ {
+ //35璐т綅琛ユ枡浠诲姟
+ dt_agvtask agvtask = new dt_agvtask();
+ agvtask.agv_id = Guid.NewGuid();
+ agvtask.agv_tasknum = "KH-" + IdenxManager.GetTaskNo();
+ agvtask.agv_fromaddress = location_35.upper_code;
+ agvtask.agv_toaddress = location_35_cp.upper_code;
+ agvtask.agv_code = "姝f瀬AGV璋冨害";
+ agvtask.agv_remark = "姝f瀬绠旀潗搴撴惉杩�(35)";
+ agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString();
+ agvtask.agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString();
+ agvtask.agv_worktype = 1;//宸ヤ綔绫诲瀷
+ agvtask.agv_materielid = "";
+ agvtask.agv_qty = 1;
+ agvtask.agv_createtime = DateTime.Now;
+ agvtask.agv_grade = 0;//浠诲姟浼樺厛绾�
+ agvtask.agv_userid = "WCS";
+ agvtask.agv_barcode = "";
+
+ //閿佸畾棣栧熬璐т綅
+ location_35_cp.task = 1;
+ location_35_cp.update_time = DateTime.Now;
+ //location_35_cp.logic_row = "TBXL-BCK";
+ var entry = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
+ if (entry != null)
+ {
+ entry.State = EntityState.Detached;
+ }
+ int end = locRepository.Update(location_35_cp, d => new { d.update_time, d.task }, true);
+
+ location_35.update_time = DateTime.Now;
+ location_35.task = 1;
+ var entrys = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
+ if (entrys != null)
+ {
+ entrys.State = EntityState.Detached;
+ }
+ int begin = locRepository.Update(location_35, d => new { d.update_time, d.task }, true);
+
+ if (begin == 1 && end == 1)
+ {
+ agvRepository.Add(agvtask, true);
+
+ //WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum}", $"绠旀潗搴撲换鍔$敓鎴�");
+
+ //WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"璧风偣璐т綅銆恵location_35.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_35.tpgd},鐘舵�侊細{location_35.location_state},鏇存柊鏃堕棿锛歿location_35.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
+
+ //WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"缁堢偣璐т綅銆恵location_35_cp.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_35_cp.tpgd},鐘舵�侊細{location_35_cp.location_state},鏇存柊鏃堕棿锛歿location_35_cp.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
+
+ //WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛 {DateTime.Now} -------------- {Environment.NewLine}", $"绠旀潗搴撲换鍔$敓鎴�");
+ }
}
}
}
+ }
+
+ //37鍏ュ彛锛屼緵鎻愬崌鏈轰笅鏂�
+ var location_37 = freeDB.Select<base_ware_location>().Where(t => t.upper_code == "ZJ-BCHCJ35" && t.location_state == "LocationState_Stored" && t.status == 1 && t.task == 2).First();
+ //37鏈夋枡绔嬪嵆鎼蛋
+ if (location_37 != null)
+ {
+ if (location_37.location_state == LocationStateEnum.LocationState_Stored.ToString() && location_37.tpgd == 1 && (location_37.logic_row == "TSJXL-BCK" || location_37.logic_col == 1))
+ {
+ int index = 0;
+ int b = 7;
+ DateTime time = DateTime.Now;
+ Double STAMP = 0;
+ do
+ {
+ DateTime time2 = DateTime.Now;
+ STAMP = (time2 - time).TotalSeconds;
+ base_ware_location ware_Location = locRepository.FindFirst(d => d.upper_code == location_37.upper_code
+ && d.location_state == LocationStateEnum.LocationState_Stored.ToString() && location_37.tpgd == 1 && d.status == 1 && (location_37.logic_row == "TSJXL-BCK" || location_37.logic_col == 1) && d.task == 2);
+ if (ware_Location == null)
+ {
+ index = 3;
+ break;
+ }
+
+ } while (STAMP < b);
+ if (index != 3)
+ {
+ var location_37_cp = freeDB.Select<base_ware_location>().Where(t => t.location_state == "LocationState_Empty" && t.upper_code.Contains("ZJ-BCHCJ") && t.status == 1 && t.light_color != "SB" && t.task == 2).OrderBy(d => Int32.Parse(d.light_color)).First();
+ //dt_agvtask task_37 = agvRepository.Find(t => t.agv_fromaddress == "FJ-BCHCJ37" || t.agv_toaddress == "FJ-BCHCJ37").FirstOrDefault();
+ if (location_37_cp != null)//鎵惧埌鍚堥�傝揣浣嶏紝鐢熸垚鎼繍浠诲姟
+ {
+ //36璐т綅琛ユ枡浠诲姟
+ dt_agvtask agvtask = new dt_agvtask();
+ agvtask.agv_id = Guid.NewGuid();
+ agvtask.agv_tasknum = "KH-" + IdenxManager.GetTaskNo();
+ agvtask.agv_fromaddress = location_37.upper_code;
+ agvtask.agv_toaddress = location_37_cp.upper_code;
+ agvtask.agv_code = "姝f瀬AGV璋冨害";
+ agvtask.agv_remark = "姝f瀬绠旀潗搴撴惉杩�(37)";
+ agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString();
+ agvtask.agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString();
+ agvtask.agv_worktype = 1;//宸ヤ綔绫诲瀷
+ agvtask.agv_materielid = "";
+ agvtask.agv_qty = 1;
+ agvtask.agv_createtime = DateTime.Now;
+ agvtask.agv_grade = 0;//浠诲姟浼樺厛绾�
+ agvtask.agv_userid = "WCS";
+ agvtask.agv_barcode = "";
+
+ //閿佸畾棣栧熬璐т綅
+ location_37_cp.task = 1;
+ location_37_cp.update_time = DateTime.Now;
+ //location_37_cp.logic_row = "TSJXL-BCK";
+ var entry = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
+ if (entry != null)
+ {
+ entry.State = EntityState.Detached;
+ }
+ int end = locRepository.Update(location_37_cp, d => new { d.task, d.update_time }, true);
+
+ location_37.task = 1;
+ location_37.update_time = DateTime.Now;
+ var entrys = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
+ if (entrys != null)
+ {
+ entrys.State = EntityState.Detached;
+ }
+ int begin = locRepository.Update(location_37, d => new { d.task, d.update_time }, true);
+
+ if (begin == 1 && end == 1)
+ {
+ agvRepository.Add(agvtask, true);
+
+ //WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum}", $"绠旀潗搴撲换鍔$敓鎴�");
+
+ //WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"璧风偣璐т綅銆恵location_37.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_37.tpgd},鐘舵�侊細{location_37.location_state},鏇存柊鏃堕棿锛歿location_37.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
+
+ //WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"缁堢偣璐т綅銆恵location_37_cp.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_37_cp.tpgd},鐘舵�侊細{location_37_cp.location_state},鏇存柊鏃堕棿锛歿location_37_cp.wireless_time}", $"绠旀潗搴撲换鍔$敓鎴�");
+
+ //WriteDBLog.Info($"绠旀潗搴撲换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛 {DateTime.Now} -------------- {Environment.NewLine}", $"绠旀潗搴撲换鍔$敓鎴�");
+ }
+ }
+ }
+
+
+ }
}
}
- }
- catch (Exception ex)
- {
+ catch (Exception ex)
+ {
+ WriteLog.GetLog().Write($"绠旀潗搴撲换鍔$敓鎴愶細{DateTime.Now} --------------{ex}", $"绠旀潗搴撲换鍔$敓鎴�");
+ }
+ finally
+ {
- throw new Exception(ex.Message);
- }
- finally
- {
-
- Interlocked.Exchange(ref _readZBCKSignalsoZ, 0);
- }
+ Interlocked.Exchange(ref _readZBCKSignalsoZ, 0);
+ }
+ });
+
}
}
--
Gitblit v1.9.3