| | |
| | | public static ReturnResult OperateAgvTaskStatus(AgvTaskState model) { |
| | | var result = new ReturnResult(); |
| | | try { |
| | | switch (model.state) { |
| | | case 1023: |
| | | break; |
| | | case 1025: |
| | | break; |
| | | case 1012: |
| | | break; |
| | | case 1004: |
| | | break; |
| | | case 1103: |
| | | break; |
| | | default: |
| | | // AGV 执行任务的逻辑处理 |
| | | if (!AgvTaskProcessOk(model)) { |
| | | // 执行不OK,说明没有找到任务 |
| | | result.ResultCode = 1; |
| | | result.ResultMsg = $"根据Model.No未找到对应的任务,{model.task_no}"; |
| | | LogHelper.Info(result.ResultMsg, "API"); |
| | | return result; |
| | | } |
| | | break; |
| | | if (model.state > 0 && model.state < 1000) { |
| | | // AGV 执行任务的逻辑处理 |
| | | if (!AgvTaskProcessOk(model)) { |
| | | // 执行不OK,说明没有找到任务 |
| | | result.ResultCode = 1; |
| | | result.ResultMsg = $"根据Model.No未找到对应的任务,{model.task_no}"; |
| | | LogHelper.Info(result.ResultMsg, "API"); |
| | | return result; |
| | | } |
| | | } |
| | | |
| | | result.ResultCode = 0; |
| | |
| | | }; |
| | | |
| | | // 数据库操作 |
| | | |
| | | if (db.Insertable<TN_Record_Table>(record).ExecuteCommand() <= 0) { |
| | | info = "插入出入库记录表失败:" + JsonConvert.SerializeObject(record); |
| | | LogHelper.Info(info); |
| | |
| | | info = $"向输送线写入允许取货信号成功"; |
| | | LogHelper.Info(info); |
| | | return NewReturnResult(0, info); |
| | | |
| | | } |
| | | else if (model.apply_code == "1") { // 请求卸货 |
| | | if (prodLineDevice.AllowAgvPlacePallet != 1) { |
| | |
| | | .First(d => d.N_B_STATE == 2); |
| | | |
| | | if (detail == null) { |
| | | LogHelper.Info($"{taskName}--AGV取货--查询明细单:当前没有执行中的明细单"); |
| | | LogHelper.Info($"{taskName}:AGV取货:查询明细单:当前没有执行中的明细单"); |
| | | return; |
| | | } |
| | | |
| | |
| | | detail.N_B_STATE = spotStateCode; |
| | | if (db.Updateable<TN_Outbound_Detail>(detail).UpdateColumns(it => it.N_B_STATE).ExecuteCommand() <= 0) { |
| | | tran.RollbackTran(); |
| | | LogHelper.Info($"{taskName}--AGV取货:修改明细单状态为3任务执行完成--失败!"); |
| | | LogHelper.Info($"{taskName}:AGV取货:修改明细单状态为【3任务执行完成】失败!"); |
| | | return; |
| | | } |
| | | |
| | | var finishedCount = db.Queryable<TN_Outbound_Detail>().Count(d => d.S_OO_NO == detail.S_OO_NO && d.N_B_STATE == 3); |
| | | var allCount = db.Queryable<TN_Outbound_Detail>().Count(d => d.S_OO_NO == detail.S_OO_NO); |
| | | |
| | | LogHelper.Info($"{taskName}--AGV取货--统计任务已完成:{finishedCount}/{allCount}"); |
| | | LogHelper.Info($"{taskName}:AGV取货:统计任务已完成:{finishedCount}/{allCount}"); |
| | | |
| | | if (finishedCount == allCount) { // 当前出库单下的所有明细单,任务都已经完成 |
| | | |
| | |
| | | .ExecuteCommand() <= 0) { |
| | | |
| | | tran.RollbackTran(); |
| | | LogHelper.Info($"{taskName}--AGV取货--所有任务完成时:修改单据状态为3任务执行完成--失败!"); |
| | | LogHelper.Info($"{taskName}:AGV取货:所有任务完成时:修改单据状态为3任务执行完成--失败!"); |
| | | return; |
| | | } |
| | | } |