| | |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEA_Common.OrderEnum; |
| | | using WIDESEA_Core; |
| | | using WIDESEA_Core.BaseServices; |
| | | using WIDESEA_Core.Enums; |
| | |
| | | public PurchaseOrderDetailService(IPurchaseOrderDetailRepository BaseDal) : base(BaseDal) |
| | | { |
| | | } |
| | | |
| | | public WebResponseContent GetPurchaseOrderInfo(string materielCode) |
| | | public WebResponseContent GetPurchaseOrderDetailMaterielCode(int warehouseId) |
| | | { |
| | | try |
| | | { |
| | | List<Dt_PurchaseOrderDetail> purchaseOrderDetails = BaseDal.QueryData(x => x.MaterielCode == materielCode); |
| | | List<int> ids = purchaseOrderDetails.Select(x => x.PurchaseOrderId).ToList(); |
| | | List<Dt_PurchaseOrder> purchaseOrders = Db.Queryable<Dt_PurchaseOrder>().Where(x => ids.Contains(x.Id)).ToList(); |
| | | List<Dt_PurchaseOrderDetail> purchaseOrderDetails = BaseDal.QueryData(x => x.WarehouseId == warehouseId && x.PurchaseDetailStatus != PurchaseOrderDetailStatusEnum.Received.ObjToInt()); |
| | | List<string> MaterielCodes = purchaseOrderDetails.Select(x => x.MaterielCode).ToList(); |
| | | MaterielCodes = MaterielCodes.Distinct().ToList(); |
| | | return WebResponseContent.Instance.OK(data: MaterielCodes); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | } |
| | | public WebResponseContent GetPurchaseOrderNos(string materielCode) |
| | | { |
| | | try |
| | | { |
| | | List<Dt_PurchaseOrderDetail> purchaseOrderDetails = BaseDal.QueryData(x => x.MaterielCode == materielCode && x.PurchaseDetailStatus != PurchaseOrderDetailStatusEnum.Received.ObjToInt()); |
| | | List<int> PurchaseOrderIds = purchaseOrderDetails.Select(x => x.PurchaseOrderId).ToList(); |
| | | List<Dt_PurchaseOrder> purchaseOrders = BaseDal.Db.Queryable<Dt_PurchaseOrder>().Where(x => PurchaseOrderIds.Contains(x.Id)).ToList(); |
| | | List<string> PurchaseOrderNos = purchaseOrders.Select(x => x.PurchaseOrderNo).ToList(); |
| | | return WebResponseContent.Instance.OK(data: PurchaseOrderNos); |
| | | } |
| | |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | } |
| | | public WebResponseContent GetOrderQuantity(string purchaseOrderNo) |
| | | { |
| | | try |
| | | { |
| | | List<Dt_PurchaseOrder> purchaseOrders = BaseDal.Db.Queryable<Dt_PurchaseOrder>().Where(x => x.PurchaseOrderNo == purchaseOrderNo).ToList(); |
| | | List<float> orderQuantity = purchaseOrders.Select(x => x.OrderQuantity).ToList(); |
| | | return WebResponseContent.Instance.OK(data: orderQuantity); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | public WebResponseContent GetOrderMaterielSpec(string purchaseOrderNo, string materielCode) |
| | | { |
| | | try |
| | | { |
| | | List<Dt_PurchaseOrder> purchaseOrders = BaseDal.Db.Queryable<Dt_PurchaseOrder>().Where(x => x.PurchaseOrderNo == purchaseOrderNo).ToList(); |
| | | List<int> purchaseOrderIds = purchaseOrders.Select(x => x.Id).ToList(); |
| | | List<Dt_PurchaseOrderDetail> purchaseOrderDetails = BaseDal.Db.Queryable<Dt_PurchaseOrderDetail>() |
| | | .Where(x => purchaseOrderIds.Contains(x.PurchaseOrderId)&& x.MaterielCode == materielCode).ToList(); |
| | | List<string> materielSpec = purchaseOrderDetails.Select(x => x.MaterielSpec).ToList(); |
| | | return WebResponseContent.Instance.OK(data: materielSpec); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | } |
| | | } |
| | | } |