| | |
| | | |
| | | using log4net.Core; |
| | | using Mapster; |
| | | using Masuit.Tools; |
| | | using Masuit.Tools.Models; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.Math; |
| | | using SixLabors.Fonts.Tables.AdvancedTypographic; |
| | | using System.Diagnostics; |
| | | using WIDESEA_Common; |
| | | using Masuit.Tools; |
| | | using WIDESEA_Core.Const; |
| | | using WIDESEA_DTO; |
| | | using WIDESEA_DTO.MOM; |
| | | using WIDESEA_DTO.WMS; |
| | | using WIDESEA_IStorageBasicRepository; |
| | | using WIDESEA_IStoragIntegrationServices; |
| | | using WIDESEA_Model.Models; |
| | | using WIDESEA_StorageBasicRepository; |
| | | using WIDESEA_StorageTaskRepository; |
| | | using WIDESEA_StoragIntegrationServices; |
| | | using WIDESEAWCS_Model.Models; |
| | | |
| | | namespace WIDESEA_StorageTaskServices; |
| | |
| | | public partial class Dt_TaskService : ServiceBase<Dt_Task, IDt_TaskRepository>, IDt_TaskService |
| | | { |
| | | #region 请求任务入库 |
| | | |
| | | /// <summary> |
| | | /// 请求入库 |
| | | /// </summary> |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// |
| | | /// </summary> |
| | | /// <param name="input">请求参数</param> |
| | | /// <param name="flag">实框空框标识</param> |
| | |
| | | } |
| | | |
| | | #region 直接出库任务 |
| | | |
| | | private async Task<Dt_Task> CreateInToOutTaskAsync(RequestTaskDto input, Dt_StationManager stationManager) |
| | | { |
| | | //if (stationManager.stationType != 5) throw new Exception("错误的调取"); |
| | | |
| | | |
| | | input.EquiCodeMOM = "24MEJQ11-1006-1"; |
| | | |
| | |
| | | |
| | | return task; |
| | | } |
| | | #endregion |
| | | |
| | | #endregion 直接出库任务 |
| | | |
| | | #region 入库任务 |
| | | |
| | | private async Task<Dt_Task> CreateInTaskAsync(RequestTaskDto input, Dt_StationManager stationManager) |
| | | { |
| | | if (stationManager.stationType != 1 && stationManager.stationType != 6) throw new Exception("错误的调取"); |
| | |
| | | |
| | | return task; |
| | | } |
| | | #endregion |
| | | |
| | | #endregion 入库任务 |
| | | |
| | | #region 库位分配 |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// |
| | | /// </summary> |
| | | /// <param name="requestTask">请求参数</param> |
| | | /// <param name="isCheckRequest">是否未检测库位类型</param> |
| | |
| | | private async Task<DtLocationInfo> RequestLocation(RequestTaskDto requestTask, bool isCheckRequest = false) |
| | | { |
| | | #region 获取货位 |
| | | |
| | | try |
| | | { |
| | | List<DtLocationInfo> locations; |
| | |
| | | Console.WriteLine(err.Message.ToString()); |
| | | return null; |
| | | } |
| | | |
| | | #endregion 获取货位 |
| | | } |
| | | #endregion |
| | | |
| | | #endregion 库位分配 |
| | | |
| | | // 获取工艺申请 |
| | | private async Task<ProcessApplyDto> GetProcessApplyAsync(RequestTaskDto input, ResultTrayCellsStatus content) |
| | |
| | | }; |
| | | } |
| | | |
| | | #endregion 请求空框出库 |
| | | #endregion 请求任务入库 |
| | | |
| | | #region 创建空框出库任务 |
| | | public async Task<Dt_Task> CreateEmptyOutTaskAsync(RequestTaskDto input, Dt_StationManager stationManager) |
| | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | throw new Exception(ex.Message); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 直接出库任务完成 |
| | | |
| | | public async Task<WebResponseContent> CompleteInToOutTaskAsync(Dt_Task task) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | |
| | | throw new Exception(err.Message); // 抛出异常以便外部捕获 |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #endregion MyRegion |
| | | |
| | | #region 检测高温库是否有可出库库存 |
| | | public WebResponseContent StockCheckingAsync() |
| | | { |
| | | |
| | | WebResponseContent webResponseContent = new WebResponseContent(); |
| | | try |
| | | { |
| | |
| | | if (stockInfo.Count <= 0) continue; |
| | | foreach (var item in stockInfo) |
| | | { |
| | | |
| | | var hasTask = BaseDal.QueryFirst(x => x.PalletCode == item.PalletCode); |
| | | if (hasTask != null) |
| | | { |
| | |
| | | task.NextAddress = "002-000-002"; |
| | | // 创建任务DTO |
| | | WMSTaskDTO taskDTO = CreateTaskDTO(task); |
| | | |
| | | |
| | | var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); |
| | | var wmsBase = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.WCSIPAddress)?.ConfigValue; |
| | |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | #endregion 检测高温库是否有可出库库存 |
| | | |
| | | #region 常温补空托盘至分容 |
| | | public async Task<WebResponseContent> GetFROutTrayToCW(RequestTaskDto taskDTO) |
| | |
| | | return content.Error($"失败:{ex.Message}"); |
| | | } |
| | | } |
| | | } |
| | | } |