From 9a7c4fea85f85824dddeac9e6ce6ebb75ccee679 Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期二, 29 四月 2025 15:26:15 +0800
Subject: [PATCH] 修改问题晚上充电逻辑
---
Admin.NET/WCS.Application/PLC/PLCTaskAction.cs | 31 ++++++++++++++++++++++++++-----
1 files changed, 26 insertions(+), 5 deletions(-)
diff --git a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
index f22caec..434abaa 100644
--- a/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCTaskAction.cs
@@ -9,6 +9,7 @@
using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using OnceMi.AspNetCore.OSS;
+using Qiniu.Storage;
using System;
using System.Drawing.Drawing2D;
using System.Net.NetworkInformation;
@@ -377,7 +378,7 @@
try
{
// 鑾峰彇瀵嗛泦搴撴湭鎵ц浠诲姟 鏍规嵁鍒涘缓鏃堕棿鎺掑簭
- var waitTask = _db.Queryable<WcsTask>().Where(s => s.IsDelete == false && s.Status == TaskStatusEnum.Wait && s.Type == PLCTypeEnum.ShuttleCar).OrderBy(s => s.CreateTime).First();
+ var waitTask = _db.Queryable<WcsTask>().Where(s => s.IsDelete == false && s.Status == TaskStatusEnum.Wait && s.Type == PLCTypeEnum.ShuttleCar && string.IsNullOrWhiteSpace(s.StartLocate) && string.IsNullOrWhiteSpace(s.EndLocate)).OrderBy(s => new {s.Levels, s.CreateTime}).First();
if (waitTask == null)
{
continue;
@@ -386,7 +387,7 @@
var taskpai = int.Parse(waitTask.StartLocate.Substring(0, 2));
var tasklie = int.Parse(waitTask.StartLocate.Substring(2, 2));
var taskceng = int.Parse(waitTask.StartLocate.Substring(4, 2));
-
+
#region 鑾峰彇褰撳墠浠诲姟鎵�鍦ㄥ眰鎵�鏈夌┖闂插皬杞�
// 鑾峰彇鏈変换鍔$殑灏忚溅缂栧彿
@@ -412,6 +413,19 @@
{
//鑾峰彇宸ヤ綅WCSPLCPosition淇℃伅
var plcPosition = listPlcPosition.Where(s => s.DeviceId == modDevice.Id).ToList();
+ if (value == 3)
+ {
+ var modCarDl = plcPosition.FirstOrDefault(s => s.Text == "鐢垫睜鐢甸噺");
+ var (resultDl, valueDl) = modbusUtil.GetDBValue(modCarDl.PosType, modCarDl.PlcPos);
+ if (resultDl.IsSucceed && valueDl> (int)FourWayCarDLEnum.Dl)
+ {
+ //鍐欏叆缁撴潫鍏呯數鍛戒护
+ var modCdEnd = plcPosition.FirstOrDefault(s => s.Text == "鍏呯數鍛戒护");
+ var resultDl22 = modbusUtil.SetDBValue(modCdEnd.PosType, modCdEnd.PlcPos.ToString(), "3") ;
+ carErr = true;
+ break; //鏆傜紦鍒嗛厤锛岄槻姝㈠悓灞傚皬杞﹀叧鏈烘垨澶辫仈瀵艰嚧闃绘尅璺緞
+ }
+ }
//灏忚溅绌洪棽鍔犲叆闆嗗悎
if (value == 1)
{
@@ -468,7 +482,7 @@
continue;//娌℃湁绌洪棽灏忚溅
}
- if (assignCar.Level != 0)
+ if (assignCar.Level != 1)
{
//鍒ゆ柇灏忚溅浣嶇疆鏄惁涓庝换鍔$殑璧峰鍌ㄤ綅鐩稿悓,涓嶇浉鍚岋細鑾峰彇灏忚溅鍒板彇璐у偍浣嶈矾寰�
var carLocate = assignCar.X.ToString().PadLeft(2, '0')+assignCar.Y.ToString().PadLeft(2, '0')+ assignCar.Z.ToString().PadLeft(2, '0');
@@ -490,9 +504,16 @@
}
}
}
+ var typeStr = "1";
+ var typeStr2 = 1;
+ if (waitTask.Levels == 888 )
+ {
+ typeStr = "0";//灏忚溅浠诲姟鏄厖鐢典换鍔�
+ typeStr2 = 0;
+ }
//鑾峰彇灏忚溅鍘绘斁璐у偍浣嶄换鍔¤矾寰�
- var data2 = FourWayCarUtil.GetCarPath(waitTask.StartLocate, waitTask.EndLocate, "1");
- var datas2 = FourWayCarUtil.GetCarPathUp(data2, 1);
+ var data2 = FourWayCarUtil.GetCarPath(waitTask.StartLocate, waitTask.EndLocate, typeStr);
+ var datas2 = FourWayCarUtil.GetCarPathUp(data2, typeStr2);
if (datas2 == null)
{
--
Gitblit v1.8.0