From 0187d7d752ee493b3691432a24cf97ededda2530 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期二, 24 三月 2026 08:48:40 +0800
Subject: [PATCH] 辊分下空筒、涂布上空筒,涂布缓存架存放空筒
---
wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_TBSB_DownTask.cs | 77 +++++++++++++++++++++++++++++++++++---
1 files changed, 71 insertions(+), 6 deletions(-)
diff --git a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_TBSB_DownTask.cs b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_TBSB_DownTask.cs
index 1ba2181..bb7f28e 100644
--- a/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_TBSB_DownTask.cs
+++ b/wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/Z_TBSB_DownTask.cs
@@ -54,15 +54,80 @@
}
string SB_Up_Location = "ZJXL-TBSB" + TBSB.Replace("娑傚竷鏈烘鏋�", "");//鎷兼帴娑傚竷涓嬫枡鍙�
- //鏌ョ湅褰撳墠娑傚竷鏈鸿澶囨槸鍚︽湁AGV浠诲姟
- var SBtask = agvRepository.FindFirst(f => f.agv_fromaddress == SB_Up_Location);
- //鏈夌粨鏉熸湰娆″惊鐜�
- if (SBtask != null) { continue; }
//褰撳墠璁惧鏈夋病鏈変笅鏂欒姹�
bool GYR_RFX = plc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11293.00").Content;
+ Int16 R_Type = plc.OmronPLCClient.OmronFinsNetClient.ReadInt16("D11224").Content;
+ WriteLog.GetLog().Write($"{plc.PLCName}璇锋眰绫诲瀷锛歿R_Type}---{DateTime.Now}", $"姝f瀬娑傚竷璇锋眰绫诲瀷");
//Convert.ToBoolean(plc.ReadValue("R_Feedingrequest".ToString(), SB_Up_Location));
- if (GYR_RFX)
+ if (GYR_RFX && R_Type == Convert.ToInt16(1))
{
+ var SBtask = agvRepository.FindFirst(f => f.agv_toaddress == SB_Up_Location);
+ //鏈夌粨鏉熸湰娆″惊鐜�
+ if (SBtask != null) { continue; }
+ #region 璁板綍涓婄┖绛掕姹備俊鍙�
+ WriteLog.GetLog().Write($"{plc.PLCName}涓婄┖绛掕姹傦細{GYR_RFX}锛寋R_Type}---{DateTime.Now}", $"姝f瀬娑傚竷涓婄┖绛掕姹�");
+ #endregion
+ //鎵惧埌璺敱瑙勫垯(浠ヨ澶囦负璧风偣鐨勮矾鐢辫鍒�)
+ List<base_routing_table> Routing_Table = routingRepository.Find(d => d.route_began == SB_Up_Location);
+ List<string> ends = Routing_Table.Select(x => x.route_end).ToList();
+ if (Routing_Table.Count > 0)
+ {
+ //鍙敤绌虹瓛缂撳瓨鏋�
+ base_ware_location location_TB = locRepository.Find(t => ends.Contains(t.upper_code) && t.location_state == LoctionStateEnum.LocationState_Stored.ToString() && t.tpgd == 1 && t.area == "ZJ-TBHCJ" && t.status == 1 && t.task == 2 && t.geartype == "C").OrderBy(d => d.update_time).FirstOrDefault();
+ if (location_TB != null)
+ {
+ WebResponseContent content = new WebResponseContent();
+ locRepository.DbContextBeginTransaction(() =>
+ {
+ //鐢熸垚娑傚竷鏈轰笅鏂欎换鍔�
+ dt_agvtask agvtask = new dt_agvtask()
+ {
+ agv_id = Guid.NewGuid(),
+ agv_tasknum = "KH-" + IdenxManager.GetTaskNo(),
+ agv_fromaddress = location_TB.upper_code,//浠ヨ澶囨湭璧风偣
+ agv_toaddress = SB_Up_Location,
+ agv_code = "姝f瀬AGV璋冨害",
+ agv_remark = "娑傚竷涓婄┖绛掍换鍔�",
+ agv_taskstate = AGVTaskStateEnum.Create.ToString(),
+ agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString(),
+ agv_worktype = 1,//宸ヤ綔绫诲瀷
+ agv_materielid = "",
+ agv_qty = 1,
+ agv_createtime = DateTime.Now,
+ agv_grade = 0,//浠诲姟浼樺厛绾�
+ agv_userid = "WCS",
+ agv_barcode = "",
+ };
+
+ location_TB.update_time = DateTime.Now;
+ location_TB.task = 1;
+ var entry = locRepository.DbContext.ChangeTracker.Entries<base_ware_location>().FirstOrDefault();
+ if (entry != null)
+ {
+ entry.State = EntityState.Detached;
+ }
+ int x = locRepository.Update(location_TB, d => new { d.update_time, d.task }, true);
+ if (x == 1)
+ {
+ agvRepository.Add(agvtask, true);
+ //WriteDBLog.Info($"銆恵TBSB}銆戜笅鏂欎换鍔$敓鎴�").Write($"鐢熸垚浠诲姟:{agvtask.agv_tasknum},缁堢偣璐т綅銆恵location_TB.upper_code}銆戠姸鎬侊細鎵樼洏鍏夌數妫�娴嬶細{location_TB.tpgd},鐘舵�侊細{location_TB.location_state},鏇存柊鏃堕棿锛歿location_TB.wireless_time}", $"銆恵TBSB}銆戜笅鏂欎换鍔$敓鎴�");
+ //WriteDBLog.Info($"銆恵TBSB}銆戜笅鏂欎换鍔$敓鎴�").Write($"----------------浠诲姟鐢熸垚鎴愬姛 {DateTime.Now} -------------- {Environment.NewLine}", $"銆恵TBSB}銆戜笅鏂欎换鍔$敓鎴�");
+ return content.OK();
+ }
+ else
+ {
+ return content.Error();
+ }
+ });
+ }
+
+ }
+ }
+ else if (GYR_RFX)
+ {
+ var SBtask = agvRepository.FindFirst(f => f.agv_fromaddress == SB_Up_Location);
+ //鏈夌粨鏉熸湰娆″惊鐜�
+ if (SBtask != null) { continue; }
#region 璁板綍涓嬫枡璇锋眰淇″彿
WriteLog.GetLog().Write($"{plc.PLCName}涓嬫枡璇锋眰锛歿GYR_RFX}---{DateTime.Now}", $"姝f瀬娑傚竷涓嬫枡璇锋眰");
#endregion
@@ -75,7 +140,7 @@
foreach (var item in Routing_Table)
{
//鎵惧厛鎵炬秱甯冨尯鍩熺紦瀛樻灦
- location_TB = locRepository.FindFirst(t => t.upper_code == item.route_end && t.location_state == LoctionStateEnum.LocationState_Empty.ToString() && t.tpgd == 0 && t.area == "ZJ-TBHCJ" && t.status == 1 && t.task == 2);
+ location_TB = locRepository.FindFirst(t => t.upper_code == item.route_end && t.location_state == LoctionStateEnum.LocationState_Empty.ToString() && t.tpgd == 0 && t.area == "ZJ-TBHCJ" && t.status == 1 && t.task == 2 && t.geartype== "鏆傛棤");
if (location_TB != null)
{
//location = location_TB.FirstOrDefault();//濡傛灉鎵惧埌锛岃祴鍊煎悗閫�鍑哄惊鐜�
--
Gitblit v1.9.3