| | |
| | | using WIDESEA_Core; |
| | | using WIDESEA_Core.BaseServices; |
| | | using WIDESEA_Core.Helper; |
| | | using WIDESEA_External.ERPService; |
| | | using WIDESEA_External.Model; |
| | | using WIDESEA_IBasicRepository; |
| | | using WIDESEA_ICheckRepository; |
| | | using WIDESEA_IInboundRepository; |
| | | using WIDESEA_IInboundService; |
| | |
| | | { |
| | | private readonly ICheckOrderRepository _checkOrderRepository; |
| | | private readonly IInboundRepository _inboundRepository; |
| | | private readonly IBasicRepository _basicRepository; |
| | | private readonly IInvokeERPService _invokeERPService; |
| | | |
| | | public ReceiveOrderService(IReceiveOrderRepository BaseDal, ICheckOrderRepository checkOrderRepository, IInboundRepository inboundRepository) : base(BaseDal) |
| | | public ReceiveOrderService(IReceiveOrderRepository BaseDal, ICheckOrderRepository checkOrderRepository, IInboundRepository inboundRepository, IBasicRepository basicRepository, IInvokeERPService invokeERPService) : base(BaseDal) |
| | | { |
| | | _checkOrderRepository = checkOrderRepository; |
| | | _inboundRepository = inboundRepository; |
| | | _basicRepository = basicRepository; |
| | | _invokeERPService = invokeERPService; |
| | | } |
| | | |
| | | public override WebResponseContent AddData(SaveModel saveModel) |
| | |
| | | return base.AddData(saveModel); |
| | | } |
| | | |
| | | public WebResponseContent FeedbackReceiveOrder(int orderId) |
| | | { |
| | | try |
| | | { |
| | | Dt_ReceiveOrder receiveOrder = BaseDal.Db.Queryable<Dt_ReceiveOrder>().Where(x => x.ReceiveOrderId == orderId).Includes(x => x.Details).First(); |
| | | if (receiveOrder == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°æ¶è´§å"); |
| | | } |
| | | if (receiveOrder.Details == null || receiveOrder.Details.Count == 0) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°æ¶è´§åæç»"); |
| | | } |
| | | |
| | | Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseId == receiveOrder.WarehouseId); |
| | | if (warehouse == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°ä»åºä¿¡æ¯"); |
| | | } |
| | | |
| | | List<RecevieOrderDetailModel> recevieOrderDetails = new List<RecevieOrderDetailModel>(); |
| | | foreach (var item in receiveOrder.Details) |
| | | { |
| | | RecevieOrderDetailModel recevieOrderDetail = new RecevieOrderDetailModel() |
| | | { |
| | | Currcode = "", |
| | | IfInspection = item.IfInspection, |
| | | Lotno = item.LotNo, |
| | | MaterialsId = item.MaterielCode, |
| | | PriceInTax = 0, |
| | | PurchaseOrderCode = item.PurchaseOrderNo, |
| | | PurchaseOrderSerno = item.PurchaseOrderDetailRowNo, |
| | | QtyReceived = item.ReceivedQuantity, |
| | | Serno = item.RowNo, |
| | | Supplotno = "", |
| | | Taxrate = "" |
| | | }; |
| | | recevieOrderDetails.Add(recevieOrderDetail); |
| | | } |
| | | |
| | | ERPReceiveModel receiveModel = new ERPReceiveModel() |
| | | { |
| | | Code = receiveOrder.ReceiveOrderNo, |
| | | CompanyId = "", |
| | | DeliveryCode = receiveOrder.DeliveryCode, |
| | | CustomerId = receiveOrder.CustomerId, |
| | | CreatorId = receiveOrder.CustomerId, |
| | | EndDate = receiveOrder.CreateDate, |
| | | ReceiveDate = receiveOrder.CreateDate, |
| | | PlantsId = "", |
| | | SuppliersId = receiveOrder.SuppliersId, |
| | | Type = "PO", |
| | | UniqueTag = receiveOrder.ReceiveOrderId.ToString(), |
| | | WarehouseCode = warehouse.WarehouseCode, |
| | | Way = 1, |
| | | Details = recevieOrderDetails |
| | | }; |
| | | |
| | | string response = _invokeERPService.InvokeMatReceiveApi(receiveModel); |
| | | |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | } |
| | | |
| | | public WebResponseContent CreateInboundOrder(int receiveOrderId) |
| | | { |
| | | try |