From 6705349f2e750a2e06f384bea66c0bd72bfb9475 Mon Sep 17 00:00:00 2001
From: 刘磊 <1161824510@qq.com>
Date: 星期三, 18 十二月 2024 21:18:26 +0800
Subject: [PATCH] 遗漏上传项目
---
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs | 543 +++++++++++++++++-------------------------------------
1 files changed, 171 insertions(+), 372 deletions(-)
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
index 0b56001..89e5155 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
@@ -1,362 +1,15 @@
-锘�
-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;
+锘縰sing 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 鍑哄簱浠诲姟瀹屾垚
-
-
- //public async Task<WebResponseContent> CompleteStackTaskAsync(Dt_Task task, DtStockInfo stock)
- //{
- // WebResponseContent content = new WebResponseContent();
- // try
- // {
- // if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
- // {
- // var process = await SqlSugarHelper.Db.Queryable<Dt_EquipmentProcess>()
- // .FirstAsync(x => x.EquipmentName == task.Roadway);
- // var info = JsonConvert.DeserializeObject<ResponseEqptRunDto>(process.ProcessValue);
-
- // var agingOutputDto = MapToAgingOutputDto(stock, info);
- // content = await _agingInOrOutInputService.GetOCVOutputAsync(agingOutputDto);
- // ValidateResponse(content);
- // }
-
- // // 鏇存柊搴撳瓨鐘舵�佸拰浠诲姟鐘舵��
- // (var loc, var tas) = UpdateStockAndTaskStatus(stock, task);
-
- // // 浜嬪姟澶勭悊
- // await _unitOfWorkManage.UseTranAsync(async () =>
- // {
- // await UpdateLocationAsync(loc);
- // await DeleteStockInfoAsync(stock.Id);
- // await DeleteStockInfoDetailsAsync(stock.StockInfoDetails);
- // //await DeleteTaskAsync(task.TaskId);
- // });
-
- // return content.OK("浠诲姟瀹屾垚鎴愬姛");
- // }
- // catch (Exception err)
- // {
- // LogFactory.GetLog("浠诲姟瀹屾垚").Error(true, $"绯荤粺寮傚父锛屽紓甯镐俊鎭細{err.Message}");
- // return content.Error(err.Message);
- // }
- //}
-
- //private AgingOutputDto MapToAgingOutputDto(DtStockInfo stock, ResponseEqptRunDto info)
- //{
- // // TODO Value鍊兼牴鎹甅OM涓嬪彂鐨勯潤缃椂闂村埌褰撳墠鏃堕棿鐨勫垎閽熸暟
- // return new AgingOutputDto
- // {
- // OpFlag = 1,
- // Software = "WMS",
- // EquipmentCode = "24MEJQ08-1091",
- // TrayBarcode = stock.PalletCode,
- // SerialNos = stock.StockInfoDetails.Select(x => new SerialNoOutDto
- // {
- // SlotNo = x.OrderNo.ToInt32(),
- // SerialNo = x.SerialNumber,
- // SerialNoResult = true,
- // ParameterInfo = info.ParameterInfo.Select(y => new ParameterInfo()
- // {
- // LowerLomit = y.LowerControlLimit,
- // UpperLimit = y.UpperControlLimit,
- // ParameterResult = y.EquipmentAvailabilityFlag,
- // ParameterCode = y.ParameterCode,
- // ParameterDesc = y.Description,
- // TargetValue = y.TargetValue,
- // Value = (DateTime.Parse(stock.LinedProcessFeedbackTime, null, System.Globalization.DateTimeStyles.RoundtripKind).ToLocalTime() - stock.CreateDate).TotalMinutes.ToString(),
- // DefectCode = y.UOMCode
- // }).ToList()
- // }).ToList()
- // };
- //}
-
- //private void ValidateResponse(WebResponseContent content)
- //{
- // var result = JsonConvert.DeserializeObject<BasicResult>(content.Data.ToString());
- // if (!result.Success)
- // {
- // throw new Exception(result.MOMMessage);
- // }
- //}
-
- //private (DtLocationInfo, Dt_Task) UpdateStockAndTaskStatus(DtStockInfo stock, Dt_Task task)
- //{
- // var location = _locationRepository.QueryFirst(x => x.LocationCode == task.SourceAddress);
- // var details = _stockInfoDetailRepository.QueryData(x => x.StockId == stock.Id);
-
- // location.LocationStatus = (int)LocationEnum.Free;
- // task.TaskState = (int)TaskOutStatusEnum.OutFinish;
- // //task.CurrentAddress = task.NextAddress;
- // //task.NextAddress = task.TargetAddress;
-
- // LogFactory.GetLog("浠诲姟瀹屾垚").Info(true, "鏇存柊搴撳瓨鐘舵�佷笌浠诲姟鐘舵��");
- // return (location, task);
- //}
-
- //private async Task DeleteStockInfoAsync(int stockId)
- //{
- // var isStockUpdated = await _stockInfoRepository.DeleteDataByIdAsync(stockId);
- // if (!isStockUpdated)
- // {
- // throw new Exception("搴撳瓨淇℃伅鏇存柊澶辫触");
- // }
- //}
-
- //private async Task UpdateLocationAsync(DtLocationInfo info)
- //{
- // var isStockUpdated = await _locationRepository.UpdateDataAsync(info);
- // if (!isStockUpdated)
- // {
- // throw new Exception("搴撳瓨淇℃伅鏇存柊澶辫触");
- // }
- //}
-
- //private async Task DeleteStockInfoDetailsAsync(IEnumerable<DtStockInfoDetail> details)
- //{
- // var ids = details.Select(x => (object)x.Id).ToArray();
- // var isStockDetailUpdated = await _stockInfoDetailRepository.DeleteDataByIdsAsync(ids);
- // if (!isStockDetailUpdated)
- // {
- // throw new Exception("搴撳瓨璇︽儏淇℃伅鏇存柊澶辫触");
- // }
- //}
-
- //private async Task DeleteTaskAsync(int taskId)
- //{
- // var isTaskUpdated = await BaseDal.DeleteDataByIdAsync(taskId);
- // if (!isTaskUpdated)
- // {
- // throw new Exception("浠诲姟淇℃伅鏇存柊澶辫触");
- // }
- //}
-
- #endregion 鍑哄簱浠诲姟瀹屾垚
-
- #region 绉诲簱浠诲姟瀹屾垚
-
- /// <summary>
- /// 绉诲簱浠诲姟瀹屾垚
- /// </summary>
- /// <param name="saveModel">浠诲姟鏁版嵁鍚堥泦</param>
- /// <returns>杩斿洖缁撴灉闆�</returns>
- //public async Task<WebResponseContent> CompleteTransferTaskAsync(Dt_Task task, DtStockInfo stock)
- //{
- // WebResponseContent content = new WebResponseContent();
- // try
- // {
- // // 鏇存柊璐т綅鍜屽簱瀛樹俊鎭�
- // (DtStockInfo updateStock, DtLocationInfo locationInf) = UpdateStockLocation(stock, task.NextAddress);
- // var taskHty = CreateHistoricalTask(task);
- // LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "绉诲簱浠诲姟瀹屾垚", $"璐т綅鍦板潃锛歿task.TargetAddress},淇敼鍚庡簱瀛樻暟鎹細{JsonConvert.SerializeObject(updateStock)}锛屽師鍏堣揣浣嶆暟鎹細{locationInf}");
-
- // // 鎵ц鏁版嵁搴撲簨鍔�
- // bool isResult = await ExecuteTransaction(updateStock, taskHty, locationInf, task.TaskId);
- // if (isResult)
- // content.OK("绉诲簱浠诲姟瀹屾垚鎴愬姛");
- // else
- // content.Error("绉诲簱浠诲姟瀹屾垚澶辫触");
- // }
- // catch (Exception err)
- // {
- // Console.WriteLine(err.Message.ToString());
- // }
- // return content;
- //}
-
- #endregion 绉诲簱浠诲姟瀹屾垚
-
- #region 鍏ュ簱浠诲姟瀹屾垚
-
- /// <summary>
- /// 瀹屾垚鍏ュ簱浠诲姟
- /// </summary>
- /// <param name="task">浠诲姟鏁版嵁鍚堥泦</param>
- /// <returns>杩斿洖缁撴灉闆�</returns>
- //public async Task<WebResponseContent> CompleteInboundTaskAsync(Dt_Task task)
- //{
- // // 鍒濆鍖栧搷搴斿唴瀹�
- // WebResponseContent content = new WebResponseContent();
- // try
- // {
- // // 鑾峰彇瑁呯淇℃伅鍜岀洰鏍囦綅缃俊鎭�
- // var boxing = await _boxingInfoRepository.QueryFirstNavAsync(x => x.PalletCode == task.PalletCode);
- // var locationInf = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.TargetAddress);
-
- // // 鏇存柊鐩爣浣嶇疆鐘舵�佷负搴撳瓨涓�
- // locationInf.LocationStatus = (int)LocationEnum.InStock;
-
- // // 鍒涘缓鍘嗗彶浠诲姟瀹炰緥妯″瀷
- // var taskHty = CreateHistoricalTask(task);
-
- // // 鏍规嵁鏄惁鏈夌粍鐩樹俊鎭垱寤哄簱瀛樺疄渚嬫ā鍨�
- // DtStockInfo stock = boxing == null ? CreateEmptyPalletStock(task, locationInf) : CreateFullPalletStock(task, locationInf, boxing);
-
- // // 鎵ц鏁版嵁搴撲簨鍔�
- // bool isResult = await ExecuteTransaction(stock, taskHty, locationInf, task.TaskId);
- // if (isResult)
- // {
- // content.OK("鍏ュ簱浠诲姟瀹屾垚鎴愬姛");
- // }
- // else
- // {
- // content.Error("鍏ュ簱浠诲姟瀹屾垚澶辫触");
- // }
- // }
- // catch (Exception err)
- // {
- // // 璁板綍寮傚父淇℃伅鍒版帶鍒跺彴鍜屾棩蹇�
- // Console.WriteLine(err.Message.ToString());
- // LogFactory.GetLog("浠诲姟瀹屾垚").Error(true, err);
- // }
- // return content;
- //}
-
- /// <summary>
- /// 鍒涘缓绌烘墭鐩樼殑搴撳瓨瀹炰緥妯″瀷
- /// </summary>
- //private DtStockInfo CreateEmptyPalletStock(Dt_Task task, DtLocationInfo locationInf)
- //{
- // var loation = _locationRepository.QueryFirst(x => x.RoadwayNo == task.Roadway && x.LocationCode == task.TargetAddress);
- // var area = _areaInfoRepository.QueryFirst(x => x.AreaID == loation.AreaId);
- // return new DtStockInfo()
- // {
- // PalletCode = task.PalletCode,
- // LocationCode = task.TargetAddress,
- // CreateDate = DateTime.Now,
- // Creater = "system",
- // IsFull = false,
- // AreaCode = area.AreaCode,
- // LocationId = loation.Id,
- // StockInfoDetails = new List<DtStockInfoDetail>()
- // {
- // new DtStockInfoDetail()
- // {
- // MaterielCode = "绌烘墭鐩�",
- // Id = 0,
- // Status = (int)StockStateEmun.宸插叆搴�
- // }
- // }
- // };
- //}
-
- /// <summary>
- /// 鍒涘缓瀹炵洏鐨勫簱瀛樺疄渚嬫ā鍨嬪苟璋冪敤MOM鍏ュ簱
- /// </summary>
- //private DtStockInfo CreateFullPalletStock(Dt_Task task, DtLocationInfo locationInf, DtBoxingInfo boxing)
- //{
- // var loation = _locationRepository.QueryFirst(x => x.RoadwayNo == task.Roadway && x.LocationCode == task.TargetAddress);
- // var area = _areaInfoRepository.QueryFirst(x => x.AreaID == loation.AreaId);
- // var boxDetail = boxing.BoxingInfoDetails.Adapt<List<DtStockInfoDetail>>();
- // boxDetail.ForEach(x => { x.Status = (int)StockStateEmun.宸插叆搴�; });
- // var stock = new DtStockInfo()
- // {
- // PalletCode = task.PalletCode,
- // LocationCode = task.TargetAddress,
- // CreateDate = DateTime.Now,
- // Creater = "system",
- // IsFull = boxing.IsFull,
- // AreaCode = area.AreaCode,
- // LocationId = loation.Id,
- // StockInfoDetails = boxDetail,
- // };
-
- // // 澶勭悊璇锋眰鍙傛暟
- // AgingInputDto agingInputDto = new AgingInputDto()
- // {
- // SerialNos = boxing.BoxingInfoDetails
- // .Select(item => new SerialNoInDto { SerialNo = item.SerialNumber, PositionNo = item.OrderNo })
- // .ToList(),
- // TrayBarcode = task.PalletCode,
- // OpFlag = 1,
- // EquipmentCode = "24MEJQ08-1091",
- // Software = "WMS"
- // };
- // var result = _agingInOrOutInputService.GetOCVInputAsync(agingInputDto).Result;
- // var respone = JsonConvert.DeserializeObject<ResponeAgingInputDto>(result.Data.ToString());
- // stock.LinedProcessFeedbackTime = respone.LinedProcessFeedbackTime;
- // stock.SpecialParameterDuration = respone.SpecialParameterDuration;
- // //2024骞�11鏈�16鏃ワ細鏂板瀛楁璁$畻搴斿嚭搴撴椂闂�
- // stock.OutboundTime = Convert.ToDateTime(respone.LinedProcessFeedbackTime).AddHours(Convert.ToDouble(respone.SpecialParameterDuration));
- // stock.ProductionLine = respone.ProductionLine;
-
- // // 璁板綍鏃ュ織
- // LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍏ュ簱浠诲姟瀹屾垚", $"璐т綅鍦板潃锛歿task.TargetAddress},淇敼鍚庤揣浣嶆暟鎹細{locationInf}");
-
- // return stock;
- //}
-
- #endregion 鍏ュ簱浠诲姟瀹屾垚
-
- #region 浠诲姟瀹屾垚
-
- /// <summary>
- /// 瀹屾垚浠诲姟
- /// </summary>
- /// <param name="taskNum">浠诲姟缂栧彿</param>
- /// <returns>杩斿洖缁撴灉闆�</returns>
- //public async Task<WebResponseContent> CompleteAsync(int taskNum)
- //{
- // // 鍒濆鍖栧搷搴斿唴瀹�
- // WebResponseContent content = new WebResponseContent();
-
- // // 鎻愬彇浠诲姟鏁版嵁
- // LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鎻愬彇浠诲姟鏁版嵁", $"浠诲姟鍙凤細{taskNum}");
-
- // // 楠岃瘉浠诲姟鏄惁瀛樺湪
- // var task = await GetByTaskNum(taskNum);
- // if (task == null)
- // {
- // return content.Error("浠诲姟涓嶅瓨鍦�");
- // }
- // LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "楠岃瘉浠诲姟鏄惁瀛樺湪", JsonConvert.SerializeObject(task));
-
- // // 楠岃瘉搴撳瓨鏄惁瀛樺湪
- // var stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == task.PalletCode);
-
- // // 鏍规嵁浠诲姟绫诲瀷璋冪敤鐩稿簲鐨勫畬鎴愪换鍔℃柟娉�
- // switch (task.TaskType)
- // {
- // case (int)TaskInboundTypeEnum.Inbound:
- // case (int)TaskInboundTypeEnum.InTray:
- // LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍏ュ簱浠诲姟", "");
- // return await CompleteInboundTaskAsync(task);
-
- // case (int)TaskOutboundTypeEnum.OutTray:
- // case (int)TaskOutboundTypeEnum.Outbound:
- // LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍑哄簱浠诲姟", "");
- // return await CompleteStackTaskAsync(task, stock);
-
- // default:
- // return content.Error("浠诲姟绫诲瀷涓嶅瓨鍦�");
- // }
- //}
-
- #endregion 浠诲姟瀹屾垚
-
#region 璇锋眰浠诲姟鍏ュ簱
+
/// <summary>
/// 璇锋眰鍏ュ簱
/// </summary>
@@ -391,7 +44,7 @@
}
}
-
+
// 璋冪敤CreateNewTask鏂规硶锛屽垱寤烘柊浠诲姟
content = await CreateNewTask(input);
}
@@ -406,7 +59,7 @@
}
/// <summary>
- ///
+ ///
/// </summary>
/// <param name="input">璇锋眰鍙傛暟</param>
/// <param name="flag">瀹炴绌烘鏍囪瘑</param>
@@ -431,7 +84,7 @@
var task = await CreateNewTaskByStation(input, stationinfo);
// 灏濊瘯娣诲姞鏂颁换鍔�
- if (task == null) return content.Error() ;
+ if (task == null) return content.Error();
var taskId = await BaseDal.AddDataAsync(task);
bool isResult = taskId > 0;
if (isResult)
@@ -451,7 +104,7 @@
};
content.OK(data: taskDTO);
-
+
}
else
content.Error("娣诲姞浠诲姟澶辫触");
@@ -480,6 +133,8 @@
task = await CreateInToOutTaskAsync(input, stationManager); break;
case 7:
task = await CreateEmptyOutTaskAsync(input, stationManager); break;
+ case 15:
+ task = await CheckAbnormalTaskAsync(input, stationManager); break;
default:
throw new Exception("鏈煡绔欏彴绫诲瀷");
}
@@ -487,10 +142,10 @@
}
#region 鐩存帴鍑哄簱浠诲姟
+
private async Task<Dt_Task> CreateInToOutTaskAsync(RequestTaskDto input, Dt_StationManager stationManager)
{
//if (stationManager.stationType != 5) throw new Exception("閿欒鐨勮皟鍙�");
-
input.EquiCodeMOM = "24MEJQ11-1006-1";
@@ -590,10 +245,11 @@
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("閿欒鐨勮皟鍙�");
@@ -704,17 +360,21 @@
return task;
}
- #endregion
+
+ #endregion 鍏ュ簱浠诲姟
#region 搴撲綅鍒嗛厤
+
/// <summary>
- ///
+ ///
/// </summary>
/// <param name="requestTask">璇锋眰鍙傛暟</param>
+ /// <param name="isCheckRequest">鏄惁鏈娴嬪簱浣嶇被鍨�</param>
/// <returns></returns>
private async Task<DtLocationInfo> RequestLocation(RequestTaskDto requestTask, bool isCheckRequest = false)
{
#region 鑾峰彇璐т綅
+
try
{
List<DtLocationInfo> locations;
@@ -739,9 +399,11 @@
Console.WriteLine(err.Message.ToString());
return null;
}
+
#endregion 鑾峰彇璐т綅
}
- #endregion
+
+ #endregion 搴撲綅鍒嗛厤
// 鑾峰彇宸ヨ壓鐢宠
private async Task<ProcessApplyDto> GetProcessApplyAsync(RequestTaskDto input, ResultTrayCellsStatus content)
@@ -759,8 +421,9 @@
};
}
- #endregion 璇锋眰绌烘鍑哄簱
+ #endregion 璇锋眰浠诲姟鍏ュ簱
+ #region 鍒涘缓绌烘鍑哄簱浠诲姟
public async Task<Dt_Task> CreateEmptyOutTaskAsync(RequestTaskDto input, Dt_StationManager stationManager)
{
try
@@ -798,12 +461,13 @@
}
catch (Exception ex)
{
-
throw new Exception(ex.Message);
}
}
+ #endregion
#region 鐩存帴鍑哄簱浠诲姟瀹屾垚
+
public async Task<WebResponseContent> CompleteInToOutTaskAsync(Dt_Task task)
{
WebResponseContent content = new WebResponseContent();
@@ -822,16 +486,113 @@
return content.Error(ex.Message);
}
}
+
+ #region 寮傚父鍙d换鍔℃娴�
+ public async Task<Dt_Task> CheckAbnormalTaskAsync(RequestTaskDto input, Dt_StationManager stationManager)
+ {
+ try
+ {
+ // 鍒涘缓涓�涓猅rayCellsStatusDto瀵硅薄锛屽苟璧嬪��
+ TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
+ {
+ Software = "WMS",
+ TrayBarcode = input.PalletCode,
+ //EquipmentCode = "EQ_CWJZ01"
+ EquipmentCode = input.EquiCodeMOM
+ };
+
+ // 璋冪敤GetTrayCellStatusAsync鏂规硶锛岃幏鍙栨暣鐩樼數鑺�
+ WebResponseContent content = await GetTrayCellStatusAsync(trayCells);
+ // 濡傛灉鐘舵�佷负false锛屽垯杩斿洖content
+ if (!content.Status) throw new Exception(content.Message);
+
+ // 娣诲姞缁勭洏淇℃伅
+ // 灏哻ontent.Data杞崲涓篟esultTrayCellsStatus瀵硅薄
+ var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString());
+ if (result.SerialNos.Count <= 0)
+ {
+ ConsoleHelper.WriteErrorLine(result.MOMMessage);
+ var taskNG = new Dt_Task
+ {
+ CurrentAddress = input.Position,
+ Grade = 1,
+ Roadway = input.Roadways,
+ TargetAddress = stationManager.stationNGLocation,
+ Dispatchertime = DateTime.Now,
+ MaterialNo = "",
+ NextAddress = stationManager.stationNGChildCode,
+ OrderNo = null,
+ PalletCode = input.PalletCode,
+ SourceAddress = stationManager.stationLocation,
+ TaskState = (int)TaskInStatusEnum.Line_InFinish,
+ TaskType = (int)TaskOutboundTypeEnum.InToOut,
+ TaskNum = await BaseDal.GetTaskNo(),
+ Creater = "Systeam"
+ };
+ return taskNG;
+ }
+
+ //Console.WriteLine(result);
+ //// TODO 鑾峰彇鏈湴鏂欐灞炴�т笌鏁寸洏鐢佃姱灞炴�ц幏鍙栫殑鍊艰繘琛屽姣旓紝濡傛灉涓�鑷村垯缁х画锛屽惁鍒欒繑鍥為敊璇俊鎭�
+ ////var productions = await _productionRepository.QueryDataAsync(x => result.TrayBarcodePropertys.Select(x => x.TrayBarcodeProperty).ToList().Contains(x.TrayBarcodeProperty));
+ ////if (productions.Count <= 0)
+ //// return content.Error("鏂欐灞炴�т笉瀛樺湪");
+
+ //// 璋冪敤CreateBoxingInfo鏂规硶锛屽垱寤虹粍鐩樹俊鎭�
+ var boxing = CreateBoxingInfo(result, input.PalletCode);
+ if (boxing == null) throw new Exception("缁勭洏澶辫触");
+
+ //// 璋冪敤GetProcessApplyAsync鏂规硶锛岃幏鍙栧伐鑹鸿矾绾�
+ //ProcessApplyDto process = await GetProcessApplyAsync(input, result);
+
+ //// 濡傛灉process涓簄ull锛屽垯杩斿洖content
+ //if (process == null) return content;
+
+ //// 璋冪敤_processApplyService.GetProcessApplyAsync鏂规硶锛岃幏鍙栧伐鑹虹敵璇�
+ //content = await _processApplyService.GetProcessApplyAsync(process);
+
+ //// 濡傛灉鐘舵�佷负false锛屽垯杩斿洖null
+ //if (!content.Status) return content.Error("宸ヨ壓鐢宠澶辫触");
+
+ ////// 璋冪敤GetProcessResponseAsync鏂规硶锛岃幏鍙栧伐鑹哄搷搴�
+ ////var processResponse = await GetProcessResponseAsync(process, input.Position);
+ var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing);
+
+ var task = new Dt_Task
+ {
+ CurrentAddress = input.Position,
+ Grade = 1,
+ Roadway = input.Roadways,
+ TargetAddress = stationManager.stationLocation,
+ Dispatchertime = DateTime.Now,
+ MaterialNo = "",
+ NextAddress = input.Roadways,
+ OrderNo = null,
+ //PalletCode = stockinfo.PalletCode,
+ //SourceAddress = stockinfo.LocationCode,
+ TaskState = (int)TaskOutStatusEnum.OutNew,
+ TaskType = (int)TaskOutboundTypeEnum.OutTray,
+ TaskNum = await BaseDal.GetTaskNo(),
+ Creater = "Systeam"
+ };
+
+ return task;
+ }
+ catch (Exception ex)
+ {
+
+ throw new Exception(ex.Message);
+ }
+ }
#endregion
-
- #region MyRegion
- private async Task<bool> ExecuteTransaction(DtStockInfo stock, Dt_Task_Hty taskHty, DtLocationInfo fromLocation,DtLocationInfo toLocation, int taskId)
+ #region 绉诲簱浠诲姟浜嬪姟
+ private async Task<bool> ExecuteTransaction(DtStockInfo stock, Dt_Task_Hty taskHty, DtLocationInfo fromLocation, DtLocationInfo toLocation, int taskId)
{
_unitOfWorkManage.BeginTran();
try
{
- var isUpdateStock = true;
+ var isUpdateStock = _stockInfoRepository.UpdateData(stock);
// 娣诲姞鍘嗗彶浠诲姟
var isTaskHtyAdd = await _task_HtyRepository.AddDataAsync(taskHty) > 0;
@@ -864,13 +625,12 @@
throw new Exception(err.Message); // 鎶涘嚭寮傚父浠ヤ究澶栭儴鎹曡幏
}
}
- #endregion
+
+ #endregion MyRegion
#region 妫�娴嬮珮娓╁簱鏄惁鏈夊彲鍑哄簱搴撳瓨
-
public WebResponseContent StockCheckingAsync()
{
-
WebResponseContent webResponseContent = new WebResponseContent();
try
{
@@ -894,7 +654,6 @@
if (stockInfo.Count <= 0) continue;
foreach (var item in stockInfo)
{
-
var hasTask = BaseDal.QueryFirst(x => x.PalletCode == item.PalletCode);
if (hasTask != null)
{
@@ -912,7 +671,6 @@
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;
@@ -949,10 +707,9 @@
}
}
- #endregion
+ #endregion 妫�娴嬮珮娓╁簱鏄惁鏈夊彲鍑哄簱搴撳瓨
#region 甯告俯琛ョ┖鎵樼洏鑷冲垎瀹�
-
public async Task<WebResponseContent> GetFROutTrayToCW(RequestTaskDto taskDTO)
{
WebResponseContent content = new WebResponseContent();
@@ -1002,4 +759,46 @@
#endregion
-}
\ No newline at end of file
+ public async Task<WebResponseContent> RequestOutTaskToBZAsync(RequestTaskDto json)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ Dt_StationManager station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == json.Position);
+
+ DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(X => X.IsFull && X.AreaCode == "CWSC3" && X.ProductionLine == "ZJ-7");
+ if (stockInfo == null) throw new Exception("搴撳唴鏃犳弧瓒虫潯浠剁殑搴撳瓨鍙嚭搴�");
+
+ Dt_StationManager OutStation = _stationManagerRepository.QueryFirst(x => x.stationPLC == "1016" && x.stationType == 10);
+
+
+ // 鍒涘缓鏂颁换鍔″疄渚�
+ var task = new Dt_Task
+ {
+ CurrentAddress = stockInfo.LocationInfo.RoadwayNo,
+ Grade = 1,
+ Roadway = stockInfo.LocationInfo.RoadwayNo,
+ TargetAddress = json.Position,
+ Dispatchertime = DateTime.Now,
+ MaterialNo = "",
+ NextAddress = OutStation.stationChildCode,
+ OrderNo = null,
+ PalletCode = stockInfo.PalletCode,
+ SourceAddress = stockInfo.LocationCode,
+ TaskState = (int)TaskOutStatusEnum.OutNew,
+ TaskType = (int)TaskOutboundTypeEnum.Outbound,
+ TaskNum = await BaseDal.GetTaskNo(),
+ Creater = "Systeam"
+ };
+
+ WMSTaskDTO taskDTO = CreateTaskDTO(task);
+
+
+ return content.OK(data: taskDTO);
+ }
+ catch (Exception ex)
+ {
+ return content.Error($"澶辫触锛歿ex.Message}");
+ }
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.3