肖洋
2024-12-15 ccf5c6a4396e810b46676e545f7ad8970b3787f1
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -1,20 +1,11 @@

using AngleSharp.Io;
using log4net.Core;
using Mapster;
using Mapster;
using Masuit.Tools;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
using SixLabors.Fonts.Tables.AdvancedTypographic;
using WIDESEA_Core.Const;
using WIDESEA_DTO.MOM;
using WIDESEA_DTO.WMS;
using WIDESEA_IServices;
using WIDESEA_IStoragIntegrationServices;
using WIDESEA_Model.Models;
using WIDESEA_Services;
using WIDESEA_StorageBasicRepository;
using WIDESEAWCS_BasicInfoRepository;
using WIDESEAWCS_Model.Models;
namespace WIDESEA_StorageTaskServices;
@@ -75,7 +66,6 @@
    #region 外部接口方法
    #region 出库任务完成
    public async Task<WebResponseContent> CompleteStackTaskAsync(Dt_Task task, DtStockInfo stock)
    {
@@ -184,7 +174,6 @@
    private void ValidateResponse(WebResponseContent content)
    {
    }
    private (DtLocationInfo, Dt_Task) UpdateStockAndTaskStatus(DtStockInfo stock, Dt_Task task)
@@ -304,7 +293,6 @@
                // 执行数据库事务
                await _unitOfWorkManage.UseTranAsync(async () =>
                {
                    // 添加历史任务
                    var isTaskHtyAdd = await _task_HtyRepository.AddDataAsync(taskHtyNG) > 0;
@@ -328,7 +316,6 @@
            // 根据是否有组盘信息创建库存实例模型
            DtStockInfo stock = boxing == null ? CreateEmptyPalletStock(task, locationInf) : CreateFullPalletStock(task, locationInf, boxing);
            // 执行数据库事务
            bool isResult = await ExecuteTransaction(stock, taskHty, locationInf, task.TaskId, boxing);
@@ -432,7 +419,6 @@
                throw new Exception("未找到对应区域信息");
        }
        var boxDetail = boxing.BoxingInfoDetails.Adapt<List<DtStockInfoDetail>>();
        boxDetail.ForEach(x => { x.Status = (int)StockStateEmun.已入库; });
        var stock = new DtStockInfo()
@@ -528,6 +514,7 @@
            case (int)TaskRelocationTypeEnum.Relocation:
                return await CompleteTransferTaskAsync(task, stock);
            default:
                return content.Error("任务类型不存在");
        }
@@ -538,6 +525,7 @@
    #region 请求任务入库
    #region
    /// <summary>
    /// 请求任务巷道
    /// </summary>
@@ -572,7 +560,6 @@
                    return content.OK(data: taskDTO);
                }
            }
            var stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == input.PalletCode && x.IsFull);
            if (stock != null)
@@ -725,18 +712,23 @@
                    case "CH01":
                        areaIn = "CH001";
                        break;
                    case "JZ01":
                        areaIn = "JZ001";
                        break;
                    case "GW01":
                        areaIn = "GWSC1";
                        break;
                    case "CW01":
                        areaIn = "CWSC1";
                        break;
                    case "CW02":
                        areaIn = "CWSC2";
                        break;
                    default:
                        break;
                }
@@ -768,7 +760,7 @@
        return content;
    }
    #endregion
    #endregion 请求任务入库
    public async Task<WebResponseContent> RequestTaskAsync(RequestTaskDto input)
    {
@@ -842,7 +834,6 @@
                return await HandleErrorCells(input, area, serialNosError);
            }
            var boxing = CreateBoxingInfo(result, input.PalletCode);
            if (boxing == null) return content.Error("组盘失败");
@@ -857,6 +848,7 @@
        return content;
    }
    /// <summary>
    /// 更新任务货位
    /// </summary>
@@ -872,11 +864,9 @@
                return content.Error($"暂未找到【{input.PalletCode}】的任务");
            return content = await UpdateExistingTask(input, task);
        }
        catch (Exception err)
        {
            throw;
        }
    }
@@ -891,7 +881,6 @@
        WebResponseContent content = new WebResponseContent();
        try
        {
            // 调用BaseDal.QueryFirstAsync方法,查询任务
            var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == input.PalletCode);
            if (task != null && task.TaskState == (int)TaskInStatusEnum.InNew)
@@ -912,7 +901,6 @@
                return content.OK(data: task);
            }
            var stationManagers = _stationManagerRepository.QueryData(x => x.stationType == 6 && x.stationChildCode == input.Position).FirstOrDefault();
            if (stationManagers == null)
            {
@@ -927,7 +915,6 @@
        }
        catch (Exception)
        {
            throw;
        }
    }
@@ -972,7 +959,7 @@
        };
    }
    #endregion 请求任务入库
    #endregion 外部接口方法
    #region 请求出库(实盘&空盘)
@@ -1124,7 +1111,7 @@
        };
    }
    #endregion 请求出库
    #endregion 请求出库(实盘&空盘)
    #region 任务状态更改
@@ -1174,7 +1161,7 @@
        return content;
    }
    #endregion
    #endregion 任务状态更改
    #region 出库解盘
@@ -1201,7 +1188,7 @@
        return content;
    }
    #endregion
    #endregion 出库解盘
    #region 指定任务出库
@@ -1267,6 +1254,7 @@
        return content;
    }
    private string GetWCSIpReceiveTask()
    {
        var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
@@ -1279,7 +1267,7 @@
        return wmsBase + ipAddress;
    }
    #endregion
    #endregion 指定任务出库
    #endregion 外部接口方法
@@ -1500,7 +1488,6 @@
                                            .Include(x => x.BoxingInfoDetails)
                                            .ExecuteCommandAsync();
                }
            }
            var stocks = _stockInfoRepository.QueryData(x => x.AreaCode == stock.AreaCode && x.ProductionLine == stock.ProductionLine && x.SpecialParameterDuration != stock.SpecialParameterDuration);
@@ -1612,7 +1599,6 @@
                _unitOfWorkManage.CommitTran();
                return content.OK(data: task);
            }
        }
        catch (Exception ex)
        {