| | |
| | | /// </summary> |
| | | /// <param name="mst"></param> |
| | | /// <param name="load"></param> |
| | | internal static void CacheBitUpdate(TN_Task mst, bool load) { |
| | | internal static void BufferLocUpdate(TN_Task mst, bool load) { |
| | | //var trayCarryCount = mst.N_CNTR_COUNT > 0 ? mst.N_CNTR_COUNT : 1; |
| | | if (load) { |
| | | Console.WriteLine($"任务{mst.S_CODE} 货位{mst.S_START_LOC}取货完成,起点解绑容器{mst.S_CNTR_CODE}"); |
| | |
| | | /// 任务取消,缓存位状态更新 |
| | | /// </summary> |
| | | /// <param name="mst"></param> |
| | | internal static void CacheBitCancelUpdate(TN_Task mst) { |
| | | internal static void BufferLocCancelUpdate(TN_Task mst) { |
| | | //任务取消,取货完成前的,起点的loadingCount和终点unLoadingCount都清除,取货完成的只处理终点 |
| | | if (WCSHelper.CheckActionRecordExist(mst.S_CODE, 4)) { |
| | | //根据客户现场要求,如果取货完成任务失败人工拉到终点,我们就当卸货完成处理;如果是人工拉走到其它区域,我们就解锁终点,删除托盘。 |
| | | //终点绑定 |
| | | CacheBitUpdate(mst, false); |
| | | BufferLocUpdate(mst, false); |
| | | LocationHelper.UnLockLoc(mst.S_END_LOC); |
| | | } |
| | | else { |
| | |
| | | /// <param name="state"></param> |
| | | internal static void OperateStatus(TN_Task mst, int state) { |
| | | if (state == 4) { |
| | | CacheBitUpdate(mst, true); |
| | | BufferLocUpdate(mst, true); |
| | | } |
| | | if (state == 6)//卸货完成 |
| | | { |
| | | CacheBitUpdate(mst, false); |
| | | BufferLocUpdate(mst, false); |
| | | } |
| | | if (state == 7) { |
| | | CacheBitCancelUpdate(mst); |
| | | BufferLocCancelUpdate(mst); |
| | | } |
| | | } |
| | | |
| | |
| | | /// <param name="mst"></param> |
| | | internal static bool SendTask(TN_Task mst) { |
| | | var result = false; |
| | | switch (mst.N_SCHEDULE_TYPE) { |
| | | case 1: //通过NDC,hosttoagv调度设备 |
| | | return SendNDCTask(mst); |
| | | case 5: //通过杭奥调度设备 |
| | | return SendHanAoTask(mst); |
| | | case 3: //通过国自调度设备 |
| | | return SendGZTask(mst); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | public static bool SendNDCTask(TN_Task mst) { |
| | | var result = false; |
| | | var start = "0"; var end = "0"; |
| | | var taskType = mst.S_TYPE.Trim(); |
| | | |
| | |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | public static bool SendGZTask(TN_Task mst) { |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | var result = false; |
| | | var start = "0"; var end = "0"; |
| | | var taskType = mst.S_TYPE.Trim(); |
| | | |
| | | if (mst.N_B_STATE == 0) { |
| | | //var code = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, JsonConvert.SerializeObject(new { src = mst.S_START_LOC, dst = mst.S_END_LOC }), "p2p"); |
| | | start = LocationHelper.GetAgvSite(mst.S_START_LOC); |
| | | end = LocationHelper.GetAgvSite(mst.S_END_LOC); |
| | | |
| | | var code = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, JsonConvert.SerializeObject(new { src = start, dst = end }), "p2pdst", "pgapi"); |
| | | |
| | | if (code > 0) { |
| | | //更新任务状态 |
| | | mst.N_B_STATE = 1; |
| | | mst.S_B_STATE = TN_Task.GetStateStr(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; |
| | | } |
| | | |
| | | public static bool SendHanAoTask(TN_Task mst) { |
| | | var result = false; |
| | | //调第三方接口 |
| | | 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); |
| | | return true; |
| | | } |
| | | else { |
| | | LogHelper.Info($"杭奥推送任务失败 {mst.S_CODE};" + JsonConvert.SerializeObject(model)); |
| | | } |
| | | return result; |
| | | } |
| | | #endregion |
| | | } |
| | | } |