From 659b0ed98c87b164b96ac43b3c0c8a7d2f975bf2 Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期五, 28 二月 2025 10:51:20 +0800 Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs | 104 ++++++++++++++++++++++++++++++++------------------- 1 files changed, 65 insertions(+), 39 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" index 8bdc9d9..341b487 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" @@ -17,6 +17,7 @@ using WIDESEA_Common.LocationEnum; using MailKit.Search; using WIDESEA_External.Model; +using WIDESEA_Core.CodeConfigEnum; namespace WIDESEA_TaskInfoService { @@ -143,6 +144,14 @@ (List<Dt_StockInfo>, Dt_OutboundOrderDetail, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.OutboundOrderDetailService.AssignStockOutbound(outboundOrderDetail, stockSelectViews); if (result.Item1 != null && result.Item1.Count > 0) { + Dt_OutboundOrder outboundOrder = _outboundService.OutboundOrderService.Repository.QueryFirst(x => x.Id == outboundOrderDetail.OrderId); + TaskTypeEnum typeEnum = outboundOrder.OrderType switch + { + (int)OutOrderTypeEnum.Issue => TaskTypeEnum.Outbound, + (int)OutOrderTypeEnum.Allocate => TaskTypeEnum.OutAllocate, + (int)OutOrderTypeEnum.Quality => TaskTypeEnum.OutQuality, + _ => new TaskTypeEnum() + }; tasks = GetTasks(result.Item1, TaskTypeEnum.Outbound); result.Item2.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt(); result.Item3.ForEach(x => @@ -189,7 +198,7 @@ { throw new Exception("鏈壘鍒板嚭搴撳崟鏄庣粏淇℃伅"); } - if (outboundOrderDetails.FirstOrDefault(x => x.OrderDetailStatus >= OrderDetailStatusEnum.New.ObjToInt())!=null) + if (outboundOrderDetails.FirstOrDefault(x => x.OrderDetailStatus > OrderDetailStatusEnum.New.ObjToInt() && x.OrderDetailStatus != OrderDetailStatusEnum.AssignOverPartial.ObjToInt()) != null) { throw new Exception("鎵�閫夊嚭搴撳崟鏄庣粏瀛樺湪鍑哄簱涓垨宸插畬鎴�"); } @@ -202,7 +211,15 @@ (List<Dt_StockInfo>, List<Dt_OutboundOrderDetail>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.OutboundOrderDetailService.AssignStockOutbound(outboundOrderDetails); if (result.Item1 != null && result.Item1.Count > 0) { - tasks = GetTasks(result.Item1, TaskTypeEnum.Outbound); + Dt_OutboundOrder outboundOrder =_outboundService.OutboundOrderService.Repository.QueryFirst(x => x.Id == outboundOrderDetails.FirstOrDefault().OrderId); + TaskTypeEnum typeEnum = outboundOrder.OrderType switch + { + (int)OutOrderTypeEnum.Issue => TaskTypeEnum.Outbound, + (int)OutOrderTypeEnum.Allocate=> TaskTypeEnum.OutAllocate, + (int)OutOrderTypeEnum.Quality => TaskTypeEnum.OutQuality, + _ =>new TaskTypeEnum() + }; + tasks = GetTasks(result.Item1, typeEnum); result.Item2.ForEach(x => { x.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt(); @@ -267,6 +284,7 @@ { try { + #region MyRegion Dt_OutboundOrderDetail OrderDetail = _outboundService.OutboundOrderDetailService.Repository.QueryFirst(x => x.Id == orderDetailId); if (OrderDetail == null) @@ -355,44 +373,48 @@ _stockRepository.StockInfoDetailRepository.UpdateData(upstockDetails); _stockRepository.StockInfoDetailRepository.DeleteData(destockDetails); _unitOfWorkManage.CommitTran(); + #endregion #region 涓婃姤ERP - List<ERPPickModel> eRPPickModels = new List<ERPPickModel>(); - outStockLockInfos.ForEach(x => + if (outboundOrder.OrderStatus == OutOrderStatusEnum.鍑哄簱瀹屾垚.ObjToInt() && outboundOrder.OrderType==OutOrderTypeEnum.Issue.ObjToInt()) { - ERPPickItemModel pickItemModel = new ERPPickItemModel() - { - Lotno = x.BatchNo, - Qty = x.AssignQuantity.ToString(), - Location = warehouse.WarehouseCode - }; - ERPPickModel pickModel = new ERPPickModel() - { - Rowindex = OrderDetail.RowNo, - Material = OrderDetail.MaterielCode, - Qty = pickItemModel.Qty, - Dataitem = new List<ERPPickItemModel> { pickItemModel } - }; - eRPPickModels.Add(pickModel); - }); - ERPIssueItemModel issueItemModel = new ERPIssueItemModel() - { - Pickcode = outboundOrder.UpperOrderNo, - PickList = eRPPickModels - }; - ERPIssueModel issueModel = new ERPIssueModel() - { - UniqueTag = outboundOrder.Id.ToString(), - Code = outboundOrder.OrderNo, - WarehouseCode = warehouse.WarehouseCode, - Docremark = "", - Deptno = outboundOrder.DepartmentCode, - Deptname = outboundOrder.DepartmentName, - Createtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), - Createuser = App.User.UserName, - Issitem = new List<ERPIssueItemModel>() { issueItemModel } - }; - _invokeERPService.InvokeOutStandardsApi(issueModel); + //List<ERPPickModel> eRPPickModels = new List<ERPPickModel>(); + //outStockLockInfos.ForEach(x => + //{ + // ERPPickItemModel pickItemModel = new ERPPickItemModel() + // { + // Lotno = x.BatchNo, + // Qty = x.AssignQuantity.ToString(), + // Location = warehouse.WarehouseCode + // }; + // ERPPickModel pickModel = new ERPPickModel() + // { + // Rowindex = OrderDetail.RowNo, + // Material = OrderDetail.MaterielCode, + // Qty = pickItemModel.Qty, + // Dataitem = new List<ERPPickItemModel> { pickItemModel } + // }; + // eRPPickModels.Add(pickModel); + //}); + //ERPIssueItemModel issueItemModel = new ERPIssueItemModel() + //{ + // Pickcode = outboundOrder.UpperOrderNo, + // PickList = eRPPickModels + //}; + //ERPIssueModel issueModel = new ERPIssueModel() + //{ + // UniqueTag = outboundOrder.Id.ToString(), + // Code = _outboundService.OutboundOrderService.CreateCodeByRule(nameof(RuleCodeEnum.FLCodeRule)), + // WarehouseCode = warehouse.WarehouseCode, + // Docremark = "", + // Deptno = outboundOrder.DepartmentCode, + // Deptname = outboundOrder.DepartmentName, + // Createtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), + // Createuser = App.User.UserName, + // Issitem = new List<ERPIssueItemModel>() { issueItemModel } + //}; + _invokeERPService.InvokeOutStandardsApi(_outboundService.OutboundOrderService.GetERPIssueModel(outboundOrder, warehouse.WarehouseCode)); + } #endregion return WebResponseContent.Instance.OK(); @@ -421,6 +443,10 @@ BaseDal.AddData(tasks); if (stockInfos != null && stockInfos.Count > 0 && outboundOrderDetails != null && outboundOrderDetails.Count > 0 && outStockLockInfos != null && outStockLockInfos.Count > 0 && locationInfos != null && locationInfos.Count > 0) { + stockInfos.ForEach(x => + { + x.StockStatus = StockStatusEmun.鍑哄簱閿佸畾.ObjToInt(); + }); WebResponseContent content = _outboundService.OutboundOrderDetailService.LockOutboundStockDataUpdate(stockInfos, outboundOrderDetails, outStockLockInfos, locationInfos, tasks: tasks); if (!content.Status) @@ -455,7 +481,7 @@ /// </summary> /// <param name="keys">鍑哄簱鍗曟槑缁嗕富閿�</param> /// <returns></returns> - public WebResponseContent GenerateOutboundTask(int[] keys) + public WebResponseContent GenerateOutboundTasks(int[] keys) { try { @@ -509,7 +535,7 @@ { List<int> keys = _outboundService.OutboundOrderDetailService.Repository.QueryData(x => x.Id, x => x.OrderId == outboundId); - return GenerateOutboundTask(keys.ToArray()); + return GenerateOutboundTasks(keys.ToArray()); } catch (Exception ex) { -- Gitblit v1.9.3