xxyy
2025-02-15 abff6261e5e74ff16a844f4739f84d49b6133000
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs
@@ -1,7 +1,9 @@
using Masuit.Tools;
using SqlSugar;
using WIDESEA_Core.Const;
using WIDESEA_DTO.MOM;
using WIDESEA_DTO.WMS;
//using WIDESEAWCS_Model.Models;
namespace WIDESEA_StorageTaskServices;
@@ -41,6 +43,8 @@
        // 判断需不需要去包装,不需要就去常温三
        var stationManagers = _stationManagerRepository.QueryData(x => x.stationPLC == "1018" && x.stationArea == "Cache" && x.productLine == input.ProductionLine);
        var STATION = _stationManagerRepository.QueryFirst(x => x.stationChildCode == input.Position);
        //var station = stationManagers.Select(x => x.stationChildCode).ToList();
        //// 获取WCSip地址相关配置
@@ -55,13 +59,13 @@
        //var num = content.Data.ObjToInt();
        //如果当前库内存在比当前时间的对应产线的料 则入库至常温3
        DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(x => x.AreaCode == "CWSC3" && x.IsFull == true && x.ProductionLine == input.ProductionLine && x.OutboundTime < DateTime.Now);
        DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(x => x.AreaCode == "CWSC3" && x.IsFull == true && x.ProductionLine == STATION.productLine && x.OutboundTime < DateTime.Now);
        if (stockInfo != null)
        {
            var config = _configService.GetByConfigKey("SYS_InStacker", "CW3InStacker");
            var strings = config.ConfigValue.Split(',').ToList();
            // 入库送至常温3
            var resultContent = await CreateNewTask(input, strings);
            var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings);
            if (resultContent.Status)
            {
                await _boxingInfoRepository.AddDataNavAsync(boxing);
@@ -70,19 +74,24 @@
        }
        // TODO 判断在途数量
        var count = BaseDal.QueryData(x => x.TargetAddress == stationManagers[0].Roadway).Count;
        if (count <= 10)
        var needBarcode = await SqlSugarHelper.DbWCS.Queryable<dt_needBarcode>().FirstAsync(x => x.productLine == STATION.productLine);
        var needCount = needBarcode.inLineNum;
        //var count = BaseDal.QueryData(x => x.TargetAddress == stationManagers[0].Roadway).Count;
        if (needCount < 2)
        {
            // 送至包装
            List<string> strings = stationManagers.Where(x => x.stationType == 0).Select(x => x.Roadway).ToList();
            return await CreateNewTask(input, strings, 3);
            var x = await SqlSugarHelper.DbWCS.Updateable<dt_needBarcode>().SetColumns(x => x.inLineNum == x.inLineNum + 1).ExecuteCommandHasChangeAsync();
            ConsoleHelper.WriteSuccessLine($"在途数量添加{(x ? "成功" : "失败")}数量+1");
            return await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings, 3);
        }
        else
        {
            var config = _configService.GetByConfigKey("SYS_InStacker", "CW3InStacker");
            var strings = config.ConfigValue.Split(',').ToList();
            // 入库送至常温3
            var resultContent = await CreateNewTask(input, strings);
            var resultContent = await CreateNewTask(input, input.ProductionLine, boxing.ProcessCode, strings);
            if (resultContent.Status)
            {
                await _boxingInfoRepository.AddDataNavAsync(boxing);
@@ -115,7 +124,11 @@
        if (!content.Status) return content.Error("工艺申请失败");
        var resultProcessApply = JsonConvert.DeserializeObject<ResultProcessApply>(content.Data.ToString());
        if (!resultProcessApply.Success) return content.Error("工艺申请失败");
        if (!resultProcessApply.Success)
        {
            return await HandleErrorCells(input, area);
            //return content.Error("工艺申请失败");
        }
        var number = resultProcessApply.ProcessInfo.Where(x => x.ProcessCode.Contains(boxing.ProcessCode)).FirstOrDefault().Number.ToInt32();
        foreach (var item in resultProcessApply.ProcessInfo)
@@ -134,7 +147,7 @@
        }
        List<string> strings = stationManagers.Roadway.Split(',').ToList();
        var resultContent = await CreateNewTask(input, strings);
        var resultContent = await CreateNewTask(input, result.ProductionLine, boxing.ProcessCode, strings);
        if (resultContent.Status)
        {
            var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing);
@@ -196,7 +209,7 @@
        //    NGStation = stationManagers.stationNGChildCode.Split(',').ToList();
        //}
        List<string> NGStation = stationManagers.stationNGChildCode.Split(',').ToList();
        content = await CreateNewTask(input, NGStation, 2);
        content = await CreateNewTask(input, input.ProductionLine, "", NGStation, 2);
        return content.Error("存在异常电芯");
    }
@@ -226,7 +239,8 @@
            TargetAddress = task.Roadway,
            TaskState = task.TaskState.Value,
            Id = 0,
            TaskType = task.TaskType
            TaskType = task.TaskType,
            ProductionLine = task.ProductionLine,
        };
        return new WebResponseContent().OK(data: taskDTO);
    }