| | |
| | | TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)) |
| | | }; |
| | | tasks.Add(task); |
| | | BaseDal.AddData(tasks); |
| | | //var responses = HttpHelper.Post<WebResponseContent>(ReceiveTask, tasks, "立库出库数量回传WMS"); |
| | | } |
| | | } |
| | | |
| | | } |
| | | BaseDal.AddData(tasks); |
| | | return tasks; |
| | | } |
| | | |
| | |
| | | |
| | | return (tasks, stockInfos, orderDetail == null ? null : new List<Dt_OutboundOrderDetail> { orderDetail }, outStockLockInfos, locationInfos); |
| | | } |
| | | /// <summary> |
| | | /// 出库单据,出库任务下发 |
| | | /// </summary> |
| | | /// <param name="orderAddDTO"></param> |
| | | /// <returns></returns> |
| | | public WebResponseContent AddOutboundOrders(Houseounbound orderAddDTO) |
| | | { |
| | | WebResponseContent content = new(); |
| | |
| | | orderAddDTO1.OrderType = orderAddDTO.InoutType.ObjToInt(); |
| | | IEnumerable<int> inOrderTypes = Enum.GetValues<OrderTypeEmun>().Cast<int>(); |
| | | |
| | | orderAddDTO1.OrderType = orderAddDTO.OrderType.ObjToInt(); |
| | | //orderAddDTO1.OrderType = orderAddDTO.OrderType.ObjToInt(); |
| | | orderAddDTO1.Details = orderAddDTO.DetailList.DicToIEnumerable<OutboundOrderDetailAddDTO>(); |
| | | #region 验证数据 |
| | | (bool, string, object?) result = CheckOutboundOrderAddData(orderAddDTO1); |
| | |
| | | UseableQuantity = outboundOrderDetail.OrderQuantity, |
| | | BatchNo = outboundOrderDetail.BatchNo, |
| | | LinId=outboundOrderDetail.LinId, |
| | | PalletCode=outboundOrderDetail.LPNNo, |
| | | }; |
| | | stockSelectViews.Add(stockSelectViewDTO); |
| | | |
| | |
| | | inboundOrder.Creater = "WMS"; |
| | | inboundOrder.CreateDate = DateTime.Now; |
| | | bool a = BaseDal.Db.InsertNav(inboundOrder).Include(x => x.Details).ExecuteCommand(); |
| | | Dt_OutboundOrder oldOutboundOrder = BaseDal.Db.Queryable<Dt_OutboundOrder>().Where(x => x.OrderNo == orderAddDTO1.OrderNo).Includes(x => x.Details).First(); |
| | | Dt_OutboundOrderDetail outboundOrderDetail = _outboundService.OutboundOrderDetailService.Repository.QueryFirst(x => x.OrderId == oldOutboundOrder.Id); |
| | | List<StockSelectViewDTO> stockSelectViews = new List<StockSelectViewDTO>(); |
| | | StockSelectViewDTO stockSelectViewDTO = new() |
| | | { |
| | | OrderNo = orderAddDTO1.OrderNo, |
| | | MaterielCode = outboundOrderDetail.MaterielCode, |
| | | MaterielName = outboundOrderDetail.MaterielName, |
| | | UseableQuantity = outboundOrderDetail.OrderQuantity, |
| | | BatchNo = outboundOrderDetail.BatchNo, |
| | | LinId = outboundOrderDetail.LinId, |
| | | }; |
| | | stockSelectViews.Add(stockSelectViewDTO); |
| | | |
| | | //stockSelectViewDTO.PalletCode = orderAddDTO1; |
| | | //stockSelectViewDTO.LocationCode = orderAddDTO1; |
| | | |
| | | GenerateOutboundTasks(oldOutboundOrder.Id, stockSelectViews); |
| | | content = WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
| | |
| | | } |
| | | private (bool, string, object?) CheckOutboundOrderAddData(OutboundOrderAddDTO outboundOrderAddDTO) |
| | | { |
| | | (bool, string, object?) result1 = ModelValidate.ValidateModelData(outboundOrderAddDTO); |
| | | if (!result1.Item1) return result1; |
| | | //(bool, string, object?) result1 = ModelValidate.ValidateModelData(outboundOrderAddDTO); |
| | | //if (!result1.Item1) return result1; |
| | | |
| | | (bool, string, object?) result2 = ModelValidate.ValidateModelData(outboundOrderAddDTO.Details); |
| | | if (!result2.Item1) return result2; |
| | | //(bool, string, object?) result2 = ModelValidate.ValidateModelData(outboundOrderAddDTO.Details); |
| | | //if (!result2.Item1) return result2; |
| | | |
| | | IEnumerable<int> inOrderTypes = Enum.GetValues<OutOrderTypeEnum>().Cast<int>(); |
| | | if (!inOrderTypes.Contains(outboundOrderAddDTO.OrderType)) |
| | |
| | | return (false, "未找到该单据类型", outboundOrderAddDTO); |
| | | } |
| | | |
| | | List<string> materielCodes = outboundOrderAddDTO.Details.Select(x => x.MaterielCode).ToList(); |
| | | if (!_materielInfoService.ExsitMateriels(materielCodes)) |
| | | { |
| | | return (false, "有物料信息未录入,请录入物料信息", outboundOrderAddDTO); |
| | | } |
| | | //List<string> materielCodes = outboundOrderAddDTO.Details.Select(x => x.MaterielCode).ToList(); |
| | | //if (!_materielInfoService.ExsitMateriels(materielCodes)) |
| | | //{ |
| | | // return (false, "有物料信息未录入,请录入物料信息", outboundOrderAddDTO); |
| | | //} |
| | | Dt_OutboundOrder dt_OutboundOrder = _outboundService.OutboundOrderService.Repository.QueryFirst(x => x.UpperOrderNo == outboundOrderAddDTO.UpperOrderNo && !string.IsNullOrEmpty(x.UpperOrderNo)); |
| | | if (dt_OutboundOrder != null) |
| | | { |
| | |
| | | } |
| | | return (true, "成功", outboundOrderAddDTO); |
| | | } |
| | | /// <summary> |
| | | /// 生成出库任务 |
| | | /// </summary> |
| | | /// <param name="orderDetailId"></param> |
| | | /// <param name="stockSelectViews"></param> |
| | | /// <returns></returns> |
| | | |
| | | public WebResponseContent GenerateOutboundTask(int orderDetailId, List<StockSelectViewDTO> stockSelectViews) |
| | | { |
| | | try |
| | |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 生成出库任务 |
| | | /// </summary> |
| | | /// <param name="orderDetailId"></param> |
| | | /// <param name="stockSelectViews"></param> |
| | | /// <returns></returns> |
| | | public WebResponseContent GenerateOutboundTasks(int orderDetailId, List<StockSelectViewDTO> stockSelectViews) |
| | | { |
| | | try |