|  |  |  | 
|---|
|  |  |  | List<Dt_InboundOrder> dt_ReceiveOrders = new List<Dt_InboundOrder>(); | 
|---|
|  |  |  | if (string.IsNullOrEmpty(orderNo)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | dt_ReceiveOrders = Db.Queryable<Dt_InboundOrder>().Where(x => x.OrderStatus < InOrderStatusEnum.å
¥åºå®æ.ObjToInt() && x.WarehouseId == warehouseId).ToPageList(pageNo, 5); | 
|---|
|  |  |  | dt_ReceiveOrders = Db.Queryable<Dt_InboundOrder>().Where(x => x.OrderStatus < InOrderStatusEnum.å
¥åºå®æ.ObjToInt() && x.WarehouseId == warehouseId).OrderByDescending(x => x.CreateDate).ToPageList(pageNo, 5); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | dt_ReceiveOrders = Db.Queryable<Dt_InboundOrder>().Where(x => (x.InboundOrderNo.Contains(orderNo)) && x.OrderStatus < InOrderStatusEnum.å
¥åºå®æ.ObjToInt() && x.WarehouseId == warehouseId).ToPageList(pageNo, 5); | 
|---|
|  |  |  | dt_ReceiveOrders = Db.Queryable<Dt_InboundOrder>().Where(x => (x.InboundOrderNo.Contains(orderNo)) && x.OrderStatus < InOrderStatusEnum.å
¥åºå®æ.ObjToInt() && x.WarehouseId == warehouseId).OrderByDescending(x => x.CreateDate).ToPageList(pageNo, 5); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | content.OK(data: dt_ReceiveOrders); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return content; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /// <summary> | 
|---|
|  |  |  | /// å
¥åºå®æä¸æ¥ERP | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"å
¥åºåæ®å·²å®æ"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Dt_Warehouse warehouse = _warehouseService.Repository.QueryFirst(x => x.WarehouseId == stockInfo.WarehouseId); | 
|---|
|  |  |  | if (warehouse == null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception ex) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | _unitOfWorkManage.RollbackTran(); | 
|---|
|  |  |  | content.Error(ex.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return content; | 
|---|
|  |  |  | 
|---|
|  |  |  | /// </summary> | 
|---|
|  |  |  | /// <param name="id"></param> | 
|---|
|  |  |  | /// <returns></returns> | 
|---|
|  |  |  | public WebResponseContent FeedbackInboundOrder(int id) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Dt_InboundOrder inboundOrder = Db.Queryable<Dt_InboundOrder>().Where(x => x.Id == id).Includes(x => x.Details).First(); | 
|---|
|  |  |  | if (inboundOrder == null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"æªæ¾å°å
¥åºåä¿¡æ¯"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (inboundOrder.Details == null || inboundOrder.Details.Count == 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"æªæ¾å°å
¥åºåæç»ä¿¡æ¯"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (inboundOrder.OrderStatus == InOrderStatusEnum.å
¥åºå®æ.ObjToInt()) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"å
¥åºåæ®å·²å®æ"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //public WebResponseContent FeedbackInboundOrder(int id) | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //    try | 
|---|
|  |  |  | //    { | 
|---|
|  |  |  | //        Dt_InboundOrder inboundOrder = Db.Queryable<Dt_InboundOrder>().Where(x => x.Id == id).Includes(x => x.Details).First(); | 
|---|
|  |  |  | //        if (inboundOrder == null) | 
|---|
|  |  |  | //        { | 
|---|
|  |  |  | //            return WebResponseContent.Instance.Error($"æªæ¾å°å
¥åºåä¿¡æ¯"); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //        if (inboundOrder.Details == null || inboundOrder.Details.Count == 0) | 
|---|
|  |  |  | //        { | 
|---|
|  |  |  | //            return WebResponseContent.Instance.Error($"æªæ¾å°å
¥åºåæç»ä¿¡æ¯"); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //        if (inboundOrder.OrderStatus == InOrderStatusEnum.å
¥åºå®æ.ObjToInt()) | 
|---|
|  |  |  | //        { | 
|---|
|  |  |  | //            return WebResponseContent.Instance.Error($"å
¥åºåæ®å·²å®æ"); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<Dt_StockInfo> stockInfos = Db.Queryable<Dt_StockInfo>().Where(x => x.Details.Any(v => v.OrderNo == inboundOrder.InboundOrderNo)).Includes(x => x.Details).ToList(); | 
|---|
|  |  |  | List<Dt_Warehouse> warehouses = Db.Queryable<Dt_Warehouse>().ToList(); | 
|---|
|  |  |  | //        List<Dt_StockInfo> stockInfos = Db.Queryable<Dt_StockInfo>().Where(x => x.Details.Any(v => v.OrderNo == inboundOrder.InboundOrderNo)).Includes(x => x.Details).ToList(); | 
|---|
|  |  |  | //        List<Dt_Warehouse> warehouses = Db.Queryable<Dt_Warehouse>().ToList(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<ERPInboundDetailModel> detailModels = new List<ERPInboundDetailModel>(); | 
|---|
|  |  |  | foreach (var item in inboundOrder.Details) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Dt_StockInfo? stockInfo = stockInfos.FirstOrDefault(x => x.Details.Any(v => v.InboundOrderRowNo == item.RowNo && v.MaterielCode == item.MaterielCode)); | 
|---|
|  |  |  | if (stockInfo == null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"æªæ¾å°åºåä¿¡æ¯"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //        List<ERPInboundDetailModel> detailModels = new List<ERPInboundDetailModel>(); | 
|---|
|  |  |  | //        foreach (var item in inboundOrder.Details) | 
|---|
|  |  |  | //        { | 
|---|
|  |  |  | //            Dt_StockInfo? stockInfo = stockInfos.FirstOrDefault(x => x.Details.Any(v => v.InboundOrderRowNo == item.RowNo && v.MaterielCode == item.MaterielCode)); | 
|---|
|  |  |  | //            if (stockInfo == null) | 
|---|
|  |  |  | //            { | 
|---|
|  |  |  | //                return WebResponseContent.Instance.Error($"æªæ¾å°åºåä¿¡æ¯"); | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Dt_Warehouse? warehouse = warehouses.FirstOrDefault(x => x.WarehouseId == stockInfo.WarehouseId); | 
|---|
|  |  |  | if (warehouse == null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"æªæ¾å°ä»åºä¿¡æ¯"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //            Dt_Warehouse? warehouse = warehouses.FirstOrDefault(x => x.WarehouseId == stockInfo.WarehouseId); | 
|---|
|  |  |  | //            if (warehouse == null) | 
|---|
|  |  |  | //            { | 
|---|
|  |  |  | //                return WebResponseContent.Instance.Error($"æªæ¾å°ä»åºä¿¡æ¯"); | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ERPInboundDetailModel detailModel = new ERPInboundDetailModel() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | ExpiryDate = stockInfo.Details.FirstOrDefault()?.EffectiveDate ?? "", | 
|---|
|  |  |  | LocationCode = warehouse.WarehouseCode, | 
|---|
|  |  |  | MaterialsCode = item.MaterielCode, | 
|---|
|  |  |  | MfgDate = stockInfo.Details.FirstOrDefault()?.ProductionDate ?? "", | 
|---|
|  |  |  | QtyCustoms = "0", | 
|---|
|  |  |  | Quantity = stockInfo.Details.Sum(x => x.StockQuantity).ToString(), | 
|---|
|  |  |  | Rack = stockInfo.LocationCode, | 
|---|
|  |  |  | ReceiptCode = inboundOrder.UpperOrderNo, | 
|---|
|  |  |  | ReceiptSerNo = item.RowNo.ToString() | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | detailModels.Add(detailModel); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Dt_Warehouse? warehouse2 = warehouses.FirstOrDefault(x => x.WarehouseId == inboundOrder.WarehouseId); | 
|---|
|  |  |  | if (warehouse2 == null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error($"æªæ¾å°ä»åºä¿¡æ¯"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ERPInboundModel model = new ERPInboundModel() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Code = inboundOrder.InboundOrderNo, | 
|---|
|  |  |  | CreatorCode = inboundOrder.Creater,//æµè¯ | 
|---|
|  |  |  | EntDate = inboundOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"), | 
|---|
|  |  |  | StockDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), | 
|---|
|  |  |  | SuppliersId = inboundOrder.SupplierId, | 
|---|
|  |  |  | Type = "S", | 
|---|
|  |  |  | UniqueTag = inboundOrder.Id.ToString(), | 
|---|
|  |  |  | WarehouseCode = warehouse2.WarehouseCode, | 
|---|
|  |  |  | Way = 1, | 
|---|
|  |  |  | Details = detailModels | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | //æµè¯æ³¨é | 
|---|
|  |  |  | _invokeERPService.InvokeInboundOrderApi(model); | 
|---|
|  |  |  | return WebResponseContent.Instance.OK(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception ex) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | return WebResponseContent.Instance.Error(ex.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //            ERPInboundDetailModel detailModel = new ERPInboundDetailModel() | 
|---|
|  |  |  | //            { | 
|---|
|  |  |  | //                ExpiryDate = stockInfo.Details.FirstOrDefault()?.EffectiveDate ?? "", | 
|---|
|  |  |  | //                LocationCode = warehouse.WarehouseCode, | 
|---|
|  |  |  | //                MaterialsCode = item.MaterielCode, | 
|---|
|  |  |  | //                MfgDate = stockInfo.Details.FirstOrDefault()?.ProductionDate ?? "", | 
|---|
|  |  |  | //                QtyCustoms = "0", | 
|---|
|  |  |  | //                Quantity = stockInfo.Details.Sum(x => x.StockQuantity).ToString(), | 
|---|
|  |  |  | //                Rack = stockInfo.LocationCode, | 
|---|
|  |  |  | //                ReceiptCode = inboundOrder.UpperOrderNo, | 
|---|
|  |  |  | //                ReceiptSerNo = item.RowNo.ToString() | 
|---|
|  |  |  | //            }; | 
|---|
|  |  |  | //            detailModels.Add(detailModel); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //        Dt_Warehouse? warehouse2 = warehouses.FirstOrDefault(x => x.WarehouseId == inboundOrder.WarehouseId); | 
|---|
|  |  |  | //        if (warehouse2 == null) | 
|---|
|  |  |  | //        { | 
|---|
|  |  |  | //            return WebResponseContent.Instance.Error($"æªæ¾å°ä»åºä¿¡æ¯"); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //        ERPInboundModel model = new ERPInboundModel() | 
|---|
|  |  |  | //        { | 
|---|
|  |  |  | //            Code = inboundOrder.InboundOrderNo, | 
|---|
|  |  |  | //            CreatorCode = inboundOrder.Creater,//æµè¯ | 
|---|
|  |  |  | //            EntDate = inboundOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"), | 
|---|
|  |  |  | //            StockDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), | 
|---|
|  |  |  | //            SuppliersId = inboundOrder.SupplierId, | 
|---|
|  |  |  | //            Type = "S", | 
|---|
|  |  |  | //            UniqueTag = inboundOrder.Id.ToString(), | 
|---|
|  |  |  | //            WarehouseCode = warehouse2.WarehouseCode, | 
|---|
|  |  |  | //            Way = 1, | 
|---|
|  |  |  | //            Details = detailModels | 
|---|
|  |  |  | //        }; | 
|---|
|  |  |  | //        //æµè¯æ³¨é | 
|---|
|  |  |  | //        _invokeERPService.InvokeInboundOrderApi(model); | 
|---|
|  |  |  | //        return WebResponseContent.Instance.OK(); | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  | //    catch (Exception ex) | 
|---|
|  |  |  | //    { | 
|---|
|  |  |  | //        return WebResponseContent.Instance.Error(ex.Message); | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  | //} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public int GetPalletType(Dt_Warehouse warehouse, string palletCode, Dt_MaterielInfo materielInfo) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | return PalletTypeEnum.LargestPallet.ObjToInt(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (warehouse.WarehouseCode == WarehouseEnum.HA153.ObjToString()) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => x.CodeStartStr == palletCode.Substring(0, 1)); | 
|---|
|  |  |  | if (palletTypeInfo == null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | throw new Exception($"æçå·é误"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return palletTypeInfo.PalletType; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (warehouse.WarehouseCode == WarehouseEnum.HA152.ObjToString()) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => x.CodeStartStr == palletCode.Substring(0, 2)); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return palletTypeInfo.PalletType; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (warehouse.WarehouseCode == WarehouseEnum.HA57.ObjToString()) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => x.CodeStartStr == palletCode.Substring(0, 3)); | 
|---|
|  |  |  | if (palletTypeInfo == null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | throw new Exception($"æçå·é误"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return palletTypeInfo.PalletType; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return -1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|