| | |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEA_BasicRepository; |
| | | using WIDESEA_Common.OrderEnum; |
| | | using WIDESEA_Core; |
| | | using WIDESEA_Core.BaseRepository; |
| | |
| | | using WIDESEA_Core.Enums; |
| | | using WIDESEA_Core.Helper; |
| | | using WIDESEA_DTO; |
| | | using WIDESEA_DTO.Basic; |
| | | using WIDESEA_IBasicRepository; |
| | | using WIDESEA_IInboundRepository; |
| | | using WIDESEA_IInboundService; |
| | | using WIDESEA_InboundRepository; |
| | |
| | | { |
| | | private readonly IUnitOfWorkManage _unitOfWorkManage; |
| | | private readonly IPurchaseOrderDetailRepository _purchaseOrderDetailRepository; |
| | | private readonly IBasicRepository _basicRepository; |
| | | private readonly ISupplierInfoRepository _supplierInfoRepository; |
| | | private readonly IMaterielInfoRepository _materielInfoRepository; |
| | | |
| | | public PurchaseOrderService(IPurchaseOrderRepository BaseDal, IPurchaseOrderDetailRepository purchaseOrderDetailRepository, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal) |
| | | public PurchaseOrderService(IPurchaseOrderRepository BaseDal, IPurchaseOrderDetailRepository purchaseOrderDetailRepository, IUnitOfWorkManage unitOfWorkManage, IBasicRepository basicRepository, ISupplierInfoRepository supplierInfoRepository, IMaterielInfoRepository materielInfoRepository) : base(BaseDal) |
| | | { |
| | | _purchaseOrderDetailRepository = purchaseOrderDetailRepository; |
| | | _unitOfWorkManage = unitOfWorkManage; |
| | | _basicRepository = basicRepository; |
| | | _supplierInfoRepository = supplierInfoRepository; |
| | | _materielInfoRepository = materielInfoRepository; |
| | | } |
| | | |
| | | public WebResponseContent ReceivePurchaseOrder(PurchaseOrderModel model) |
| | |
| | | { |
| | | return WebResponseContent.Instance.Error($"éè´åå·éå¤"); |
| | | } |
| | | |
| | | if (_supplierInfoRepository.QueryFirst(x => x.SupplierCode == model.SCode) == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°ä¾åºåç¼ç ã{model.SCode}ãçä¿¡æ¯"); |
| | | } |
| | | List<Dt_Warehouse> warehouses = _basicRepository.WarehouseRepository.QueryData(); |
| | | List<Dt_MaterielInfo> materielInfos = _materielInfoRepository.QueryData(); |
| | | List<Dt_PurchaseOrderDetail> purchaseOrderDetails = new List<Dt_PurchaseOrderDetail>(); |
| | | foreach (var item in model.MList) |
| | | { |
| | | Dt_Warehouse? warehouse = warehouses.FirstOrDefault(x => x.WarehouseCode == item.WaId); |
| | | if (warehouse == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°ä»åºä¿¡æ¯"); |
| | | } |
| | | Dt_MaterielInfo? materielInfo = materielInfos.FirstOrDefault(x => x.MaterielCode == item.MCode); |
| | | if (materielInfo == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°ç©æç¼ç ã{item.MCode}ãçä¿¡æ¯"); |
| | | } |
| | | Dt_PurchaseOrderDetail purchaseOrderDetail = new Dt_PurchaseOrderDetail() |
| | | { |
| | | MaterielCode = item.MCode, |
| | | PurchaseDetailQuantity = item.Qty, |
| | | PurchaseDetailReceiveQty=0, |
| | | PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt(), |
| | | Unit = item.Unit, |
| | | WarehouseId = item.WaId, |
| | | WarehouseId = warehouse.WarehouseId, |
| | | RowNo = item.RowId, |
| | | }; |
| | | purchaseOrderDetails.Add(purchaseOrderDetail); |
| | |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°éè´åæç»ä¿¡æ¯"); |
| | | } |
| | | |
| | | if (_supplierInfoRepository.QueryFirst(x => x.SupplierCode == model.SCode) == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°ä¾åºåç¼ç ã{model.SCode}ãçä¿¡æ¯"); |
| | | } |
| | | List<Dt_Warehouse> warehouses = _basicRepository.WarehouseRepository.QueryData(); |
| | | List<Dt_MaterielInfo> materielInfos = _materielInfoRepository.QueryData(); |
| | | List<Dt_PurchaseOrderDetail> purchaseOrderDetails = new List<Dt_PurchaseOrderDetail>(); |
| | | List<Dt_PurchaseOrderDetail> updatePurchaseOrderDetails = new List<Dt_PurchaseOrderDetail>(); |
| | | List<int> detailIds = new List<int>(); |
| | | foreach (var item in model.MList) |
| | | { |
| | | Dt_Warehouse? warehouse = warehouses.FirstOrDefault(x => x.WarehouseCode == item.WaId); |
| | | if (warehouse == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°ä»åºä¿¡æ¯"); |
| | | } |
| | | Dt_MaterielInfo? materielInfo = materielInfos.FirstOrDefault(x => x.MaterielCode == item.MCode); |
| | | if (materielInfo == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°ç©æç¼ç ã{item.MCode}ãçä¿¡æ¯"); |
| | | } |
| | | Dt_PurchaseOrderDetail? purchaseOrderDetail = purchaseOrder.Details.FirstOrDefault(x => x.RowNo == item.RowId); |
| | | if (purchaseOrderDetail == null) |
| | | { |
| | |
| | | { |
| | | MaterielCode = item.MCode, |
| | | PurchaseDetailQuantity = item.Qty, |
| | | PurchaseDetailReceiveQty = 0, |
| | | PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt(), |
| | | Unit = item.Unit, |
| | | WarehouseId = item.WaId, |
| | | WarehouseId = warehouse.WarehouseId, |
| | | RowNo = item.RowId, |
| | | }; |
| | | purchaseOrderDetails.Add(purchaseOrderDetail); |
| | |
| | | purchaseOrderDetail.PurchaseDetailQuantity = item.Qty; |
| | | purchaseOrderDetail.PurchaseDetailStatus = PurchaseOrderDetailStatusEnum.NotReceived.ObjToInt(); |
| | | purchaseOrderDetail.Unit = item.Unit; |
| | | purchaseOrderDetail.WarehouseId = item.WaId; |
| | | purchaseOrderDetail.WarehouseId = warehouse.WarehouseId; |
| | | purchaseOrderDetail.RowNo = item.RowId; |
| | | updatePurchaseOrderDetails.Add(purchaseOrderDetail); |
| | | detailIds.Add(purchaseOrderDetail.Id); |