From 968d603a08117e7e6707ffe07c6da9c325e36c08 Mon Sep 17 00:00:00 2001 From: kazelee <1847801760@qq.com> Date: 星期一, 12 五月 2025 17:04:17 +0800 Subject: [PATCH] 完成并测试抽检出库的逻辑,修复相关问题 --- ServiceCore/TaskCore.cs | 94 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 93 insertions(+), 1 deletions(-) diff --git a/ServiceCore/TaskCore.cs b/ServiceCore/TaskCore.cs index dbff385..ecfd717 100644 --- a/ServiceCore/TaskCore.cs +++ b/ServiceCore/TaskCore.cs @@ -7,6 +7,9 @@ using static HH.WCS.Mobox3.DSZSH.Dtos.Request.AgvRequest; using static HH.WCS.Mobox3.DSZSH.Dtos.Response.AgvResponse; +using HH.WCS.Mobox3.DSZSH.Dispatch; +using HH.WCS.Mobox3.DSZSH.Models; +using System.Collections.Generic; namespace HH.WCS.Mobox3.DSZSH.ServiceCore { internal class TaskCore { @@ -21,7 +24,7 @@ if (list.Count > 0) { list.ForEach(task => { // 浣跨敤鑷畾涔変换鍔℃帹閫�- TaskHelper.SendTask(task); // 璋冨害NDC鎴栨澀濂ユ垨鍥借嚜璁惧 + SendTask(task); // 璋冨害NDC鎴栨澀濂ユ垨鍥借嚜璁惧 //TaskProcess.SendGZTask(task); // 璋冨害鍥借嚜璁惧 }); } @@ -29,5 +32,94 @@ LogHelper.Info("鏆傛棤浠诲姟"); } } + + /// <summary> + /// 鎺ㄩ�浠诲姟 + /// </summary> + /// <param name="mst"></param> + internal static bool SendTask(TN_Task mst) { + var result = false; + var start = "0"; var end = "0"; + var taskType = mst.S_TYPE.Trim(); + if (mst.N_B_STATE == 0) { + if (mst.N_SCHEDULE_TYPE == 1)//閫氳繃NDC锛宧osttoagv璋冨害璁惧 + { + start = LocationHelper.GetAgvSite(mst.S_START_LOC); + end = LocationHelper.GetAgvSite(mst.S_END_LOC); + + if (mst.S_TYPE == "绌烘墭涓嬬嚎鍫嗗彔") { + end = LocationHelper.GetAgvSite(mst.S_END_LOC, true); + } + + LogHelper.Info($"NDC鎺ㄩ�浠诲姟 {mst.S_CODE};" + "start=" + start + "end= " + end); + var startLoc = LocationHelper.GetLoc(mst.S_START_LOC); + var endLoc = LocationHelper.GetLoc(mst.S_END_LOC); + var dic = new List<param>(); + dic.Add(new param() { name = "IKey", value = "IKey" }); + dic.Add(new param() { name = "From", value = start.ToString() }); + dic.Add(new param() { name = "To", value = end.ToString() }); + dic.Add(new param() { name = "FUNC", value = startLoc.N_LAYER.ToString() }); + + dic.Add(new param() { name = "Ctype", value = "0" }); + + + if (mst.S_TYPE == "浣欐枡涓嬬嚎鍏ュ簱" || mst.S_TYPE == "浜哄伐鎷嗙洏鍏ュ簱") { + dic.Add(new param() { name = "DATA", value = "1024" }); + } + else { + dic.Add(new param() { name = "DATA", value = "0" }); + } + + var res = NDCApi.AddOrderNew(1, 1, mst.S_CODE, dic);//娣诲姞鏂板懡浠�+ if (res != null && (res.err_code == 0 || res.err_code == 50009)) { + //鎺ㄩ�鎴愬姛锛屼慨鏀逛换鍔′紭鍏堢骇 + mst.N_B_STATE = 1; + mst.S_B_STATE = TN_Task.GetStateStr(1); + TaskHelper.UpdateStatus(mst);//鏇存柊浠诲姟鐘舵� + result = true; + LogHelper.Info($"NDC鎺ㄩ�浠诲姟鎴愬姛 {mst.S_CODE}start= {mst.S_START_LOC} + end = {mst.S_END_LOC}"); + } + else { + LogHelper.Info($"NDC鎺ㄩ�浠诲姟澶辫触 {mst.S_CODE};Res:" + JsonConvert.SerializeObject(res)); + } + } + else if (mst.N_SCHEDULE_TYPE == 5)//閫氳繃鏉ゥ璋冨害璁惧 + { + //璋冪涓夋柟鎺ュ彛 + var model = new HanAo.TaskInfoModel { + requestPk = mst.S_CODE, + frmPos = mst.S_START_LOC, + toPos = mst.S_END_LOC, + trkType = mst.S_OP_NAME == "鍏ュ簱" ? "1" : "2", + contNo = mst.S_CNTR_CODE + }; + if (HanAo.CreateOrder(model)) { + mst.N_B_STATE = 1; + TaskHelper.UpdateStatus(mst); + LogHelper.Info($"鏉ゥ鎺ㄩ�浠诲姟鎴愬姛 {mst.S_CODE};" + "start=" + model.frmPos + "end= " + model.toPos); + } + else { + LogHelper.Info($"鏉ゥ鎺ㄩ�浠诲姟澶辫触 {mst.S_CODE};" + JsonConvert.SerializeObject(model)); + } + } + else if (mst.N_SCHEDULE_TYPE == 3) //閫氳繃鍥借嚜璋冨害璁惧 + { + var code = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, JsonConvert.SerializeObject(new { src = mst.S_START_LOC, dst = mst.S_END_LOC }), "p2p"); + if (code > 0) { + //鏇存柊浠诲姟鐘舵� + mst.N_B_STATE = 1; + mst.S_EQ_TASK_CODE = code.ToString(); + TaskHelper.UpdateStatus(mst); + TaskHelper.UpdateEqNo(mst); + LogHelper.Info($"鍥借嚜鎺ㄩ�浠诲姟鎴愬姛 {mst.S_CODE};" + "start=" + mst.S_START_LOC + "end= " + mst.S_END_LOC); + } + else { + LogHelper.Info($"鍥借嚜鎺ㄩ�浠诲姟澶辫触 {mst.S_CODE};" + JsonConvert.SerializeObject(mst)); + } + } + + } + return result; + } } } -- Gitblit v1.9.1