|  |  |  | 
|---|
|  |  |  | 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())!=null) | 
|---|
|  |  |  | if (outboundOrderDetails.FirstOrDefault(x => x.OrderDetailStatus > OrderDetailStatusEnum.New.ObjToInt() && x.OrderDetailStatus != OrderDetailStatusEnum.AssignOverPartial.ObjToInt()) != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | throw new Exception("æéåºåºåæç»åå¨åºåºä¸æå·²å®æ"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 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) | 
|---|
|  |  |  | { | 
|---|