| | |
| | | /// </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(); |
| | | |
| | | //var db = new SqlHelper<object>().GetInstance(); |
| | | |
| | | if (mst.N_B_STATE == 0) { |
| | | 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); |
| | | //} |
| | | |
| | | // 任务下发后,无论AGV是否接受,state 都是2了,就算暂停无济于事 |
| | | // 如果后续需要让暂停的任务不再分发,那么必须改变现有的state判断机制 |
| | | |
| | | //if (mst.S_TYPE == TaskName.移库) { |
| | | // var detail = db.Queryable<TN_RelocationList_Detail>() |
| | | // .Where(d => d.S_CNTR_CODE == mst.S_CNTR_CODE).First(); |
| | | |
| | | // if (detail == null) { |
| | | |
| | | // } |
| | | //} |
| | | |
| | | LogHelper.Info($"NDC推送任务 {mst.S_CODE};" + "start=" + start + "end= " + end); |
| | | var startLoc = LocationHelper.GetLoc(mst.S_START_LOC); |
| | |
| | | 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)) { |
| | |
| | | else { |
| | | LogHelper.Info($"NDC推送任务失败 {mst.S_CODE};Res:" + JsonConvert.SerializeObject(res)); |
| | | } |
| | | |
| | | //if (mst.N_SCHEDULE_TYPE == 1)//通过NDC,hosttoagv调度设备 |
| | | //{ |
| | | // 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); |
| | | // WCSHelper.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; |
| | | // WCSHelper.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(); |
| | | // WCSHelper.UpdateStatus(mst); |
| | | // WCSHelper.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; |
| | | } |