From 9a0acba23c5b5095be2a89b8ca190fe5202c2ea6 Mon Sep 17 00:00:00 2001 From: duyongjia <adu_555@163.com> Date: 星期日, 29 十二月 2024 15:58:45 +0800 Subject: [PATCH] 最新修改 --- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 358 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 325 insertions(+), 33 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" index dfd5943..a57d982 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" @@ -31,6 +31,7 @@ using System.Reflection.Metadata; using System.Text; using System.Threading.Tasks; +using WIDESEA_BasicRepository; using WIDESEA_Core; using WIDESEA_Core.BaseRepository; using WIDESEA_Core.BaseServices; @@ -41,16 +42,21 @@ using WIDESEA_DTO.Stock; using WIDESEA_IBasicRepository; using WIDESEA_IBasicService; +using WIDESEA_IInboundRepository; using WIDESEA_IInboundService; using WIDESEA_IOutboundRepository; using WIDESEA_IOutboundService; using WIDESEA_IRecordService; using WIDESEA_IStockRepository; using WIDESEA_IStockService; +using WIDESEA_ISystemService; using WIDESEA_ITaskInfoRepository; using WIDESEA_ITaskInfoService; +using WIDESEA_Model; using WIDESEA_Model.Models; +using WIDESEA_Model.Models.Inbound; using WIDESEA_TaskInfoRepository; +using OrderByType = SqlSugar.OrderByType; namespace WIDESEA_TaskInfoService { @@ -66,10 +72,27 @@ private readonly IStockService _stockService; private readonly ITask_HtyService _taskHtyService; private readonly ILocationInfoService _locationInfoService; - + private readonly ISys_JobService _sys_JobService; + private readonly ILabelMasterRepository _labelMasterRepository; + private readonly IOutStockLockInfoRepository _outStockLockInfoRepository; + private readonly IOutboundOrderRepository _outboundOrderRepository; + private readonly IOutboundOrderDetailRepository _outboundOrderDetailRepository; + private readonly IOutboundOrder_HtyRepository _outboundOrder_HtyRepository; + private readonly IOutboundOrderDetail_HtyRepository _outboundOrderDetail_HtyRepository; + private readonly IOutBoundOrderBYDRepository _outBoundOrderBYDRepository; + private readonly IOutboundOrderDetailBYDRepository _outboundOrderDetailByDRepository; + private readonly IMainReturnInventoryRepository _mainReturnInventoryRepository; + private readonly IReturnInventoryDetailRepository _returnInventoryDetailRepository; public ITaskRepository Repository => BaseDal; - public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IBasicService basicService, IOutboundService outboundService, IInboundService inboundService, IRecordService recordService, IStockService stockService, ITask_HtyService taskHtyService, ILocationInfoService locationInfoService) : base(BaseDal) + private Dictionary<string, OrderByType> _OutLockOrderBy = new Dictionary<string, OrderByType>() + { + + { nameof(Dt_OutStockLockInfo.CreateDate), OrderByType.Desc }, + + }; + + public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IBasicService basicService, IOutboundService outboundService, IInboundService inboundService, IRecordService recordService, IStockService stockService, ITask_HtyService taskHtyService, ILocationInfoService locationInfoService, ISys_JobService sys_JobService, ILabelMasterRepository labelMasterRepository, IOutStockLockInfoRepository outStockLockInfoRepository, IOutboundOrderDetailRepository outboundOrderDetailRepository, IOutBoundOrderBYDRepository outBoundOrderBYDRepository, IOutboundOrderDetailBYDRepository outboundOrderDetailByDRepository, IOutboundOrderRepository outboundOrderRepository, IOutboundOrder_HtyRepository outboundOrder_HtyRepository, IOutboundOrderDetail_HtyRepository outboundOrderDetail_HtyRepository, IReturnInventoryDetailRepository returnInventoryDetailRepository,IMainReturnInventoryRepository mainReturnInventoryRepository) : base(BaseDal) { _mapper = mapper; _unitOfWorkManage = unitOfWorkManage; @@ -80,7 +103,20 @@ _stockService = stockService; _taskHtyService = taskHtyService; _locationInfoService = locationInfoService; + _sys_JobService = sys_JobService; + _labelMasterRepository = labelMasterRepository; + _outStockLockInfoRepository = outStockLockInfoRepository; + _outboundOrderDetailRepository = outboundOrderDetailRepository; + _outBoundOrderBYDRepository = outBoundOrderBYDRepository; + _outboundOrderDetailByDRepository = outboundOrderDetailByDRepository; + _outboundOrderRepository = outboundOrderRepository; + _outboundOrder_HtyRepository = outboundOrder_HtyRepository; + _outboundOrderDetail_HtyRepository = outboundOrderDetail_HtyRepository; + _returnInventoryDetailRepository = returnInventoryDetailRepository; + _mainReturnInventoryRepository = mainReturnInventoryRepository; + } + /// <summary> /// 浠诲姟瀹屾垚 @@ -104,17 +140,17 @@ WebResponseContent? responseContent = (WebResponseContent?)methodInfo.Invoke(this, new object[] { task }); if (responseContent != null) { - if (App.User.UserId > 0) - { - var response = HttpHelper.Post<WebResponseContent>(url + "StackCraneTaskCompleted?taskNum=" + task.TaskNum, "", "浠诲姟瀹屾垚"); - if (!response.Status) - { - _unitOfWorkManage.RollbackTran(); - return WebResponseContent.Instance.Error(response.Message); - } - _unitOfWorkManage.CommitTran(); - return content = responseContent; - } + //if (App.User.UserId > 0) + //{ + // var response = HttpHelper.Post<WebResponseContent>(url + "StackCraneTaskCompleted?taskNum=" + task.TaskNum, "", "浠诲姟瀹屾垚"); + // if (!response.Status) + // { + // _unitOfWorkManage.RollbackTran(); + // return WebResponseContent.Instance.Error(response.Message); + // } + // _unitOfWorkManage.CommitTran(); + // return content = responseContent; + //} _unitOfWorkManage.CommitTran(); return content = responseContent; } @@ -189,21 +225,44 @@ { return WebResponseContent.Instance.Error("鏈壘鍒颁换鍔′俊鎭�"); } - if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletOutbound.ObjToInt()) + if (task.TaskStatus == 100 || task.TaskStatus == 200)//濡傛灉鏄柊寤轰换鍔$姸鎬佹敼涓烘墽琛屼腑 { - task.TaskStatus = OutTaskStatusEnum.SC_OutExecuting.ObjToInt(); - } - else if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletInbound.ObjToInt()) - { - task.TaskStatus = InTaskStatusEnum.SC_InExecuting.ObjToInt(); - } - else if (task.TaskType == TaskTypeEnum.Relocation.ObjToInt()) - { - task.TaskStatus = InTaskStatusEnum.RelocationExecuting.ObjToInt(); + if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletOutbound.ObjToInt()) + { + task.TaskStatus = OutTaskStatusEnum.SC_OutExecuting.ObjToInt(); + } + else if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletInbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletReturnInbound.ObjToInt()) + { + task.TaskStatus = InTaskStatusEnum.SC_InExecuting.ObjToInt(); + } + //else if (task.TaskType == TaskTypeEnum.Relocation.ObjToInt()) + //{ + // task.TaskStatus = InTaskStatusEnum.RelocationExecuting.ObjToInt(); + //} + else + { + throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�"); + } } else { - throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�"); + if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletOutbound.ObjToInt()) + { + task.TaskStatus = OutTaskStatusEnum.SC_OutFinish.ObjToInt(); + } + else if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletInbound.ObjToInt() || task.TaskType == TaskTypeEnum.PalletReturnInbound.ObjToInt()) + { + task.TaskStatus = InTaskStatusEnum.SC_InFinish.ObjToInt(); + } + //else if (task.TaskType == TaskTypeEnum.Relocation.ObjToInt()) + //{ + // task.TaskStatus = InTaskStatusEnum.RelocationExecuting.ObjToInt(); + //} + else + { + throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�"); + } + } _unitOfWorkManage.BeginTran(); task.Dispatchertime = DateTime.Now; @@ -223,13 +282,11 @@ { try { + _unitOfWorkManage.BeginTran(); decimal beforeQuantity = 0; - - Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); - Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.TargetAddress); - + Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); CheckCompleted(stockInfo, locationInfo); stockInfo.LocationCode = locationInfo.LocationCode; @@ -250,15 +307,85 @@ _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Inbound.ObjToInt(), stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum); _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfo.Details, beforeQuantity, stockInfo.Details.Sum(x => x.StockQuantity) + beforeQuantity, StockChangeType.Inbound,task.TaskNum); _unitOfWorkManage.CommitTran(); - return WebResponseContent.Instance.OK(); + + } catch (Exception ex) { _unitOfWorkManage.RollbackTran(); return WebResponseContent.Instance.Error(ex.Message); } - + + //鍘熸枡鍏ュ簱瀹屾垚鍚庯紝闇�瑕佸皢缁勭洏淇℃伅璋冪敤涓婃父WMS鍘熸枡涓婃灦缁撴灉鎺ュ彛 + #region 鍥炰紶閫昏緫澶勭悊 + try + { + PutAwayRequest request = new PutAwayRequest(); + List<PutAway> itemData = new List<PutAway>(); + request.ITEMDATA = itemData; + request.WERKS = AppSettings.Configuration["WERKS"]; + request.WH_NUMBER = AppSettings.Configuration["WERKS"]; + request.IZLID = request.WERKS + request.WH_NUMBER+ DateTime.Now.ToString("yyyyMMdd") + task.TaskNum.ToString(); + request.CREATE_DATE = task.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"); + request.PSTNG_DATE = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + request.INBOUND_NO = "";//todo:鍗曞彿瑕佷粠鏉$爜涓绘暟鎹腑鑾峰彇锛屼笉鐒跺洖浼犱細鎻愮ず锛氳鏉$爜鏃犺繘浠撳崟鏁版嵁锛� + request.RECEIPT_NO = "";//todo:鍗曞彿瑕佷粠鏉$爜涓绘暟鎹腑锛屼笉鐒跺洖浼犱細鎻愮ず锛氳鏉$爜鏃犺繘浠撳崟鏁版嵁锛� + Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); + foreach (Dt_StockInfoDetail detail in stockInfo.Details) + { + Dt_LabelMaster labMaster = _labelMasterRepository.QueryFirst(x => x.LABEL_NO == detail.SerialNumber); + if (labMaster != null) + { + if (request.INBOUND_NO == "") + { + request.INBOUND_NO = labMaster.INBOUND_NO; + } + if (request.RECEIPT_NO == "") + { + request.RECEIPT_NO = labMaster.RECEIPT_NO; + } + PutAway putAway = new PutAway(); + putAway.MATNR = labMaster.MATNR; + putAway.BATCH = labMaster.BATCH; + putAway.LIFNR = labMaster.LIFNR; + putAway.LIKTX = labMaster.LIKTX; + putAway.RECEIPT_QTY = labMaster.BOX_QTY; + putAway.UNIT = labMaster.UNIT; + putAway.LABEL_NO = labMaster.LABEL_NO; + putAway.PACK_LABEL_NO = labMaster.Pack_LABEL_No; + putAway.PALLET_LABEL_NO = labMaster.Pallet_label_no; + putAway.TPNUM = task.PalletCode; + putAway.FLAG = "0"; + putAway.TKTXT = ""; + putAway.PO_NO = labMaster.PO_NO; + putAway.PO_ITEM_NO = labMaster.PO_ITEM_NO; + putAway.SOBKZ = labMaster.SOBKZ; + putAway.RECEIPT_ITEM_NO = labMaster.RECEIPT_ITEM_NO; + putAway.INBOUND_NO = task.TaskNum.ToString(); + //LABEL _STATUS 鏉$爜鐘舵�� 02宸叉敹鏂�(鏃犻渶璐ㄦ)03 寰呰繘浠�(宸茶川妫�)锛屽苟涓旓紝QC RESULT CODE璐ㄦ鐘舵�佷负鈥�02鈥� 鎵嶅厑璁′笂鏋� + if (labMaster.QC_RESULT_CODE=="02"&&(labMaster.LABEL_STATUS=="02"|| labMaster.LABEL_STATUS == "03")) + { + itemData.Add(putAway); + } + + } + } + if (itemData.Count > 0) + { + _sys_JobService.CallPutAway(request); + } + } + catch(Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + #endregion + return WebResponseContent.Instance.OK(); + } + + + /// <summary> /// 绌烘墭鐩樺叆搴撳畬鎴愬鐞� @@ -305,6 +432,106 @@ } } + + + /// <summary> + /// 浣欐枡閫�搴撳畬鎴愬鐞� + /// </summary> + /// <param name="task">浠诲姟瀹炰綋瀵硅薄</param> + /// <returns>杩斿洖澶勭悊缁撴灉</returns> + public WebResponseContent PalletReturnInboundTaskCompleted(Dt_Task task) + { + try + { + + _unitOfWorkManage.BeginTran(); + decimal beforeQuantity = 0; + Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.TargetAddress); + Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); + CheckCompleted(stockInfo, locationInfo); + + stockInfo.LocationCode = locationInfo.LocationCode; + stockInfo.StockStatus = StockStatusEmun.宸插叆搴�.ObjToInt(); + _stockService.StockInfoService.Repository.UpdateData(stockInfo); + + beforeQuantity = stockInfo.Details.Where(x => x.Id != 0).Sum(x => x.StockQuantity); + + int beforeStatus = locationInfo.LocationStatus; + locationInfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt(); + _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Inbound.ObjToInt(), false); + + _basicService.LocationInfoService.Repository.UpdateData(locationInfo); + task.TaskStatus = InTaskStatusEnum.InFinish.ObjToInt(); + + BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚); + + _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Inbound.ObjToInt(), stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum); + _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfo.Details, beforeQuantity, stockInfo.Details.Sum(x => x.StockQuantity) + beforeQuantity, StockChangeType.Inbound, task.TaskNum); + _unitOfWorkManage.CommitTran(); + + + } + catch (Exception ex) + { + _unitOfWorkManage.RollbackTran(); + return WebResponseContent.Instance.Error(ex.Message); + } + + //浣欐枡鍏ュ簱瀹屾垚鍚庯紝闇�瑕佸皢缁勭洏淇℃伅璋冪敤涓婃父WMS浣欐枡閫�鍥炵粨鏋滄帴鍙� + #region 鍥炰紶閫昏緫澶勭悊 + try + { + PutAwayReturnRequest request = new PutAwayReturnRequest(); + List<PutAwayReturn> DATA = new List<PutAwayReturn>(); + request.DATA = DATA; + request.WERKS = AppSettings.Configuration["WERKS"]; + request.WH_NUMBER = AppSettings.Configuration["SYSNO"]; + request.IZLID = task.OrderNo;//杩欎釜鍊间細鍦ㄦ帴鏀朵笂娓稿洖搴撶粍鐩樹俊鎭椂锛屽瓨鍦ㄥ簱瀛樿〃涓紝鍐嶅瓨鍒颁换鍔¤〃涓� + Dt_MainReturnInventory mainReturnInventory = _mainReturnInventoryRepository.QueryFirst(x => x.IZLID == task.OrderNo); + if (mainReturnInventory != null) + { + request.RETURN_NO = mainReturnInventory.RETURN_NO; + request.RETURN_ITEM_NO = mainReturnInventory.RETURN_ITEM_NO; + request.BUSINESS_NAME = mainReturnInventory.BUSINESS_NAME; + request.BUSINESS_CODE = mainReturnInventory.BUSINESS_CODE; + request.TPNUM = mainReturnInventory.TPNUM; + request.LGORT = mainReturnInventory.LGORT; + request.MO_NO = mainReturnInventory.MO_NO; + + Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); + foreach (Dt_StockInfoDetail detail in stockInfo.Details) + { + Dt_ReturnInventoryDetail dt_ReturnInventoryDetail = _returnInventoryDetailRepository.QueryFirst(x => x.LABEL_NO == detail.SerialNumber); + if (dt_ReturnInventoryDetail != null) + { + PutAwayReturn putAwayReturn = new PutAwayReturn(); + putAwayReturn.LABEL_NO = dt_ReturnInventoryDetail.LABEL_NO; + putAwayReturn.SOBKZ = dt_ReturnInventoryDetail.SOBKZ; + putAwayReturn.UNIT = dt_ReturnInventoryDetail.UNIT; + putAwayReturn.LGORT = dt_ReturnInventoryDetail.LGORT; + putAwayReturn.TOTAL_RETURN_QTY = dt_ReturnInventoryDetail.QTY; + putAwayReturn.F_LGORT = dt_ReturnInventoryDetail.F_LGORT; + putAwayReturn.MO_NO = mainReturnInventory.MO_NO; + putAwayReturn.LIFNR = dt_ReturnInventoryDetail.LIFNR; + putAwayReturn.MATNR = dt_ReturnInventoryDetail.MATNR; + putAwayReturn.BATCH = ""; + DATA.Add(putAwayReturn); + } + } + if(DATA.Count>0) + { + _sys_JobService.CallPutAwayReturn(request);//浣欐枡閫�搴撳洖浼� + } + } + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + #endregion + return WebResponseContent.Instance.OK(); + } + /// <summary> /// 楠岃瘉鏁版嵁 /// </summary> @@ -333,11 +560,15 @@ public WebResponseContent OutboundTaskCompleted(Dt_Task task) { + Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); + Dt_StockInfo stockInfoCatch = stockInfo;//鍏堢紦瀛樿捣鏉ワ紝渚涘悗闈㈢殑鍥炰紶鎺ュ彛璋冪敤 try { _unitOfWorkManage.BeginTran(); decimal beforeQuantity = 0; - Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); + + //Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); + //Dt_StockInfo stockInfoCatch = stockInfo;//鍏堢紦瀛樿捣鏉ワ紝渚涘悗闈㈢殑鍥炰紶鎺ュ彛璋冪敤 Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.SourceAddress); @@ -369,14 +600,75 @@ _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfo.Details, beforeQuantity, stockInfo.Details.Sum(x => x.StockQuantity) - beforeQuantity, StockChangeType.Outbound, task.TaskNum); _unitOfWorkManage.CommitTran(); - return OnOutboundTaskCompleted?.Invoke(task) ?? WebResponseContent.Instance.OK(); - + } catch (Exception ex) { _unitOfWorkManage.RollbackTran(); return WebResponseContent.Instance.Error(ex.Message); } + + + //鍘熸枡鍑哄簱瀹屾垚鍚庯紝璋冪敤涓婃父绯荤粺WMS鍑哄簱瀹屾垚淇℃伅鎺ュ彛 + #region 鍥炰紶閫昏緫澶勭悊 + try + { + PickAndPostRequest request = new PickAndPostRequest(); + List<PickAndPost> itemData = new List<PickAndPost>(); + request.ITEMDATA = itemData; + request.WH_NUMBER = AppSettings.Configuration["SYSNO"]; + request.SYSNOD = AppSettings.Configuration["SYSNO"]; + request.WERKS = AppSettings.Configuration["CallMaterialID"]; + + Dt_OutboundOrderDetail_Hty detail = _outboundOrderDetail_HtyRepository.QueryFirst(x => x.SourceId.ToString() == task.Remark);// task.Remark瀛橀渶姹傛槑缁咺D + if (detail != null) + { + Dt_OutboundOrder_Hty outboundOrder = _outboundOrder_HtyRepository.QueryFirst(x => x.SourceId == detail.OrderId); + if (outboundOrder != null) + { + Dt_OutBoundOrderBYD outboundOrderBYD = _outBoundOrderBYDRepository.QueryFirst(x => x.REQUIREMENT_NO == outboundOrder.OrderNo); + if (outboundOrderBYD != null) + { + + Dt_OutboundOrderDetailBYD outboundOrderDetailBYD = _outboundOrderDetailByDRepository.QueryFirst(x => x.REQUIREMENT_NO == outboundOrderBYD.REQUIREMENT_NO && x.REQUIREMENT_ITEM_NO == detail.Remark);//detail.Remark 瀛橀渶姹傝 + //鏍规嵁鎵樼洏鍙锋煡绔嬪簱鐨勬潯鐮佸拰鎵规杩涜鍥炰紶 + foreach (var item in stockInfoCatch.Details) + { + PickAndPost pickpost = new PickAndPost(); + pickpost.REQUIREMENT_NO = outboundOrderDetailBYD.REQUIREMENT_NO; + pickpost.REQUIREMENT_ITEM_NO = outboundOrderDetailBYD.REQUIREMENT_ITEM_NO; + pickpost.WERKS = outboundOrderBYD.WRKS; + pickpost.SYSNOD = outboundOrderBYD.SYSNOD; + pickpost.MATNR = outboundOrderDetailBYD.MATNR; + pickpost.LIFNR = "";//娌℃湁杩斿洖锛屾殏鏃惰浆绌� + pickpost.QTY = outboundOrderDetailBYD.QTY; + pickpost.BATCH = item.BatchNo;//鍙栫珛搴撳叆搴撳簱瀛樼殑鏉$爜 + pickpost.LGORT = outboundOrderBYD.LGORT; + pickpost.BUSINESS_CODE = outboundOrderBYD.BUSINESS_CODE; + pickpost.BUSINESS_NAME = outboundOrderBYD.BUSINESS_NAME; + pickpost.STATION = outboundOrderBYD.STATION; + pickpost.SPLIT = outboundOrderBYD.SPLIT; + pickpost.LABEL_NO = item.SerialNumber;//鍙栫珛搴撳叆搴撳簱瀛樼殑鏉$爜 + pickpost.CREATE_DATE = outboundOrderBYD.CREATE_DATE; + pickpost.UPDATE_DATE = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + pickpost.STATUS = outboundOrderBYD.STATUS; + itemData.Add(pickpost); + + } + _sys_JobService.CallPickAndPost(request);//鍥炰紶 + } + + } + + } + } + catch(Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + + #endregion + return WebResponseContent.Instance.OK(); } public WebResponseContent PalletOutboundTaskCompleted(Dt_Task task) -- Gitblit v1.9.3