| | |
| | | using WIDESEA_Common.LocationEnum; |
| | | using MailKit.Search; |
| | | using WIDESEA_External.Model; |
| | | using WIDESEA_Core.CodeConfigEnum; |
| | | |
| | | namespace WIDESEA_TaskInfoService |
| | | { |
| | |
| | | { |
| | | throw new Exception("æªæ¾å°åºåºåæç»ä¿¡æ¯"); |
| | | } |
| | | |
| | | if (outboundOrderDetails.FirstOrDefault(x => x.OrderDetailStatus > OrderDetailStatusEnum.New.ObjToInt() && x.OrderDetailStatus != OrderDetailStatusEnum.AssignOverPartial.ObjToInt()) != null) |
| | | { |
| | | throw new Exception("æéåºåºåæç»åå¨åºåºä¸æå·²å®æ"); |
| | | } |
| | | List<Dt_StockInfo>? stockInfos = null; |
| | | List<Dt_OutboundOrderDetail>? orderDetails = null; |
| | | List<Dt_OutStockLockInfo>? outStockLockInfos = null; |
| | |
| | | { |
| | | try |
| | | { |
| | | #region MyRegion |
| | | Dt_OutboundOrderDetail OrderDetail = _outboundService.OutboundOrderDetailService.Repository.QueryFirst(x => x.Id == orderDetailId); |
| | | |
| | | if (OrderDetail == null) |
| | |
| | | _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()) |
| | | { |
| | | 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(); |
| | |
| | | /// </summary> |
| | | /// <param name="keys">åºåºåæç»ä¸»é®</param> |
| | | /// <returns></returns> |
| | | public WebResponseContent GenerateOutboundTask(int[] keys) |
| | | public WebResponseContent GenerateOutboundTasks(int[] keys) |
| | | { |
| | | try |
| | | { |
| | |
| | | { |
| | | 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) |
| | | { |