| | |
| | | }; |
| | | content.OK(data: taskDTO); |
| | | |
| | | |
| | | |
| | | } |
| | | else |
| | | content.Error("添加任务失败"); |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | #region 直接出库任务完成 |
| | | public async Task<WebResponseContent> CompleteInToOutTaskAsync(Dt_Task task) |
| | | { |
| | |
| | | #endregion |
| | | |
| | | |
| | | #region MyRegion |
| | | private async Task<bool> ExecuteTransaction(DtStockInfo stock, Dt_Task_Hty taskHty, DtLocationInfo fromLocation,DtLocationInfo toLocation, int taskId) |
| | | { |
| | | _unitOfWorkManage.BeginTran(); |
| | | try |
| | | { |
| | | var isUpdateStock = true; |
| | | |
| | | // 添加历史任务 |
| | | var isTaskHtyAdd = await _task_HtyRepository.AddDataAsync(taskHty) > 0; |
| | | |
| | | // 修改移库前货位状态 |
| | | var isUpdateLocF = _locationRepository.UpdateData(fromLocation); |
| | | var isUpdateLocT = _locationRepository.UpdateData(toLocation); |
| | | |
| | | // 删除任务数据 |
| | | var isTaskDelete = await Delete(taskId); |
| | | |
| | | // 提交或回滚事务 |
| | | if (isUpdateStock && isTaskHtyAdd && isTaskDelete && isUpdateLocF && isUpdateLocT) |
| | | { |
| | | LogFactory.GetLog("任务完成").InfoFormat(true, "任务完成", $"事务处理完成,提交事务。添加历史任务:{isTaskHtyAdd},删除任务数据:{isTaskDelete},更新或添加库存:{isUpdateStock},修改移库前货位状态:{isUpdateLocF}"); |
| | | _unitOfWorkManage.CommitTran(); |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | LogFactory.GetLog("任务完成").InfoFormat(true, "任务完成", $"数据处理失败,请检查数据是否正确,数据回滚。添加历史任务:{isTaskHtyAdd},删除任务数据:{isTaskDelete},更新库存:{isUpdateStock},修改移库前货位状态:{isUpdateLocF}"); |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return false; |
| | | } |
| | | } |
| | | catch (Exception err) |
| | | { |
| | | LogFactory.GetLog("任务完成").InfoFormat(true, $"任务完成,系统异常,异常信息:{err.Message}", "无参数"); |
| | | _unitOfWorkManage.RollbackTran(); |
| | | throw new Exception(err.Message); // 抛出异常以便外部捕获 |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 检测高温库是否有可出库库存 |
| | | |
| | | public WebResponseContent StockCheckingAsync() |