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/AGVServer.cs | 125 +++++++++++++++++++++++------------------
1 files changed, 71 insertions(+), 54 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/AGVServer.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/AGVServer.cs"
index cc86be5..4257532 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/AGVServer.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/AGVServer.cs"
@@ -19,73 +19,90 @@
{
public partial class AGVServer
{
- static FreeDB freeDB = new FreeDB();
- static Respone respone = new Respone();
- static RequestTask requestTask = new RequestTask();
- static string postJson = string.Empty;
- static string report = string.Empty;
+
/// <summary>
/// 浠诲姟涓嬪彂
/// </summary>
public static void SendAgvTask()
{
- try
+ Respone respone = new Respone();
+ RequestTask requestTask = new RequestTask();
+ string postJson = string.Empty;
+ string report = string.Empty;
+
+ VOLContext Context = new VOLContext();
+ Idt_agvtaskRepository agvtaskRepository = new dt_agvtaskRepository(Context);
+ var agv_tasks = agvtaskRepository.Find(x => x.agv_taskstate == "Create" && string.IsNullOrEmpty(x.agv_remark)).OrderByDescending(x => x.agv_grade)
+ .ThenBy(x => x.agv_createtime).ToList();
+ if (agv_tasks.Count < 1)
+ agv_tasks = agvtaskRepository.Find(x => x.agv_taskstate == "Create" && !string.IsNullOrEmpty(x.agv_remark)).OrderByDescending(x => x.agv_grade)
+ .ThenBy(x => x.agv_createtime).ToList();
+ if (agv_tasks.Count > 0)
{
- var agv_task = freeDB.Select<dt_agvtask>()
- .Where(t => t.agv_taskstate == AGVTaskStateEnum.Create.ToString()
- && (t.agv_tasktype == "TaskType_Outbound" || t.agv_tasktype == "TaskType_Inbound" || t.agv_tasktype == "TaskType_AOutbound")
- && string.IsNullOrEmpty(t.agv_remark))
- .OrderByDescending(t => t.agv_grade)
- .OrderBy(t => t.agv_createtime)
- .First();
- if (agv_task == null)
- agv_task = freeDB.Select<dt_agvtask>()
- .Where(t => t.agv_taskstate == AGVTaskStateEnum.Create.ToString()
- && (t.agv_tasktype == "TaskType_Outbound" || t.agv_tasktype == "TaskType_Inbound" || t.agv_tasktype == "TaskType_AOutbound")
- && !string.IsNullOrEmpty(t.agv_remark))
- .OrderByDescending(t => t.agv_grade)
- .OrderBy(t => t.agv_createtime)
- .First();
- if (agv_task != null)
+ foreach (var agv_task in agv_tasks)
{
- var Materiel = QueryData.QueryMateriel(agv_task.agv_materielid);//鏌ユ壘杞﹁疆鏁版嵁
- if (Materiel == null)
+ try
{
- agv_task.agv_remark = "鏈幏鍙栧埌褰撳墠浠诲姟鐨勮溅杞暟鎹�";
- freeDB.Update(agv_task).UpdateColumns(t => new { t.agv_remark }).ExecuteAffrows();
- throw new Exception("鏈煡璇㈠埌褰撳墠浠诲姟鐨勮溅杞被鍨嬫暟鎹紝浠诲姟ID锛�" + agv_task.agv_tasknum);
+ var Materiel = QueryData.QueryMateriel(agv_task.agv_materielid);//鏌ユ壘杞﹁疆鏁版嵁
+ var Materiel1 = QueryData.QueryMateriel1(agv_task.agv_materielid);//鏌ユ壘杞﹁疆鏁版嵁
+ if (Materiel == null && Materiel1 == null && !agv_task.agv_tasktype.Contains("TaskType_EmptyPallet"))
+ {
+ agv_task.agv_remark = "鏈幏鍙栧埌褰撳墠浠诲姟鐨勮溅杞暟鎹�";
+ agvtaskRepository.Update(agv_task, true);
+ throw new Exception("鏈煡璇㈠埌褰撳墠浠诲姟鐨勮溅杞被鍨嬫暟鎹紝浠诲姟ID锛�" + agv_task.agv_tasknum);
+ }
+ requestTask.TASK_NO = agv_task.agv_tasknum;
+ requestTask.FROM_POSITION = agv_task.agv_fromaddress;
+ requestTask.TO_POSITION = agv_task.agv_toaddress;
+ requestTask.Material = agv_task.agv_materielid;
+ requestTask.Grade = agv_task.agv_grade;
+ requestTask.Quantity = agv_task.agv_qty;
+ requestTask.TrayType = agv_task.agv_Traytype.Contains("Small") ? 1 : 2;//
+ requestTask.TaskType = agv_task.agv_tasktype.Contains("TaskType_EmptyPallet") ? 2 : 1;//
+ #region 缁�/鎷嗙┖鐩樹换鍔¢渶澶勭悊
+ requestTask.StarQuantity = agv_task.StarQuantity;
+ requestTask.EndQuantity = agv_task.EndQuantity;
+ #endregion
+ if (Materiel != null)
+ {
+ requestTask.A = Materiel == null ? Materiel1.a : Materiel.a;
+ requestTask.B = Materiel == null ? Materiel1.b : Materiel.b;
+ requestTask.C = Materiel == null ? Materiel1.c : Materiel.c;
+ requestTask.D = Materiel == null ? Materiel1.d : Materiel.d;
+ requestTask.E = Materiel == null ? Materiel1.e : Materiel.e;
+ requestTask.F = Materiel == null ? Materiel1.f : Materiel.f;
+ requestTask.G = Materiel == null ? Materiel1.g : Materiel.g;
+ requestTask.H = Materiel == null ? Materiel1.h : Materiel.h;
+ }
+ postJson = JsonConvert.SerializeObject(requestTask);
+ //report = Request.RequestData(postJson, AGVAPIAddress.IPAddress_AGVTask);//"http://192.168.12.204:5000/api/TaskCreat/CreatTask"
+ RequestAGV(agvtaskRepository, agv_task, postJson, AGVAPIAddress.IPAddress_AGVTask);
+ //respone = JsonConvert.DeserializeObject<Respone>(report);
+ //if (respone.Success)
+ //{
+ // agv_task.agv_taskstate = AGVTaskStateEnum.SendOut.ToString();
+ // agv_task.agv_realesstime = DateTime.Now;
+ // agvtaskRepository.Update(agv_task, true);
+ // WriteWMSLog.LogAdd(requestTask.TASK_NO, "鎴愬姛 ", "AGV", "WMS", postJson, report, "涓嬪彂AGV浠诲姟", "SendAGVTask", respone.Msg);
+ //}
+ //else
+ //{
+ // agv_task.agv_remark = respone.Msg;
+ // var task = agvtaskRepository.Find(x => x.agv_tasknum == agv_task.agv_tasknum && x.agv_remark == agv_task.agv_remark).FirstOrDefault();//.Exists
+ // if (task == null)
+ // agvtaskRepository.Update(agv_task, true);
+ // WriteWMSLog.LogAdd(requestTask.TASK_NO, "澶辫触 ", "AGV", "WMS", postJson, report, "涓嬪彂AGV浠诲姟", "SendAGVTask", respone.Msg);
+ //}
}
- requestTask.TASK_NO = agv_task.agv_tasknum;
- requestTask.FROM_POSITION = agv_task.agv_fromaddress;
- requestTask.TO_POSITION = agv_task.agv_toaddress;
- requestTask.Material = agv_task.agv_materielid;
- requestTask.Grade = agv_task.agv_grade;
- requestTask.Quantity = agv_task.agv_qty;
- requestTask.A = Materiel.a;
- requestTask.B = Materiel.b;
- requestTask.C = Materiel.c;
- requestTask.D = Materiel.d;
- requestTask.E = Materiel.e;
- requestTask.F = Materiel.f;
- requestTask.G = Materiel.g;
- requestTask.H = Materiel.h;
- postJson = JsonConvert.SerializeObject(requestTask);
- report = Request.RequestData(postJson, "http://192.168.12.250:5566/api/TaskCreat/CreatTask");
- respone = JsonConvert.DeserializeObject<Respone>(report);
- if (respone.Success)
+ catch (Exception ex)
{
- agv_task.agv_taskstate = AGVTaskStateEnum.SendOut.ToString();
- agv_task.agv_realesstime = DateTime.Now;
- freeDB.Update(agv_task).UpdateColumns(t => new { t.agv_realesstime, t.agv_taskstate }).ExecuteAffrows();
+ respone.Success = false;
+ respone.Msg = ex.Message;
+ WriteWMSLog.LogAdd(requestTask.TASK_NO, "澶辫触", "AGV", "WMS", postJson, report, "涓嬪彂AGV浠诲姟", "SendAGVTask", respone.Msg);
}
}
}
- catch (Exception ex)
- {
- respone.Success = false;
- respone.Msg = ex.Message;
- }
- WriteWMSLog.LogAdd(requestTask.TASK_NO, respone.Success ? "鎴愬姛 " : "澶辫触", "AGV", "WMS", postJson, report, "涓嬪彂AGV浠诲姟", "SendAGVTask", respone.Msg);
+
}
}
}
--
Gitblit v1.9.3