| | |
| | | ERPReceiveModel receiveModel = new ERPReceiveModel() |
| | | { |
| | | Code = receiveOrder.ReceiveOrderNo, |
| | | CompanyId = "HATC", |
| | | DeliveryCode = receiveOrder.DeliveryCode, |
| | | CustomerId = receiveOrder.CustomerId, |
| | | CreatorId = "TC20082",//æµè¯ receiveOrder.Creater |
| | | CreatorId = receiveOrder.Creater, |
| | | EntDate = receiveOrder.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | ReceiveDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | PlantsId = "HA02", |
| | | SuppliersId = receiveOrder.SuppliersId, |
| | | Type = Enum.GetName(typeof(ReceiveOrderTypeEnum), receiveOrder.ReceiveOrderType), |
| | | Type = Enum.GetName(typeof(ReceiveOrderTypeEnum), receiveOrder.ReceiveOrderType) ?? throw new Exception($"éè´åç±»åé误"), |
| | | UniqueTag = receiveOrder.ReceiveOrderId.ToString(), |
| | | WarehouseCode = warehouse.WarehouseCode, |
| | | Way = 1, |
| | | Details = recevieOrderDetails |
| | | }; |
| | | //æ¶è´§æ¨éè³ERP |
| | | string Content = _invokeERPService.InvokeMatReceiveApi(receiveModel); |
| | | ErpRequestContent erpRequest = Content.DeserializeObject<ErpRequestContent>(); |
| | | if (erpRequest.res == 0) |
| | | { |
| | | return WebResponseContent.Instance.Error(erpRequest.Data); |
| | | } |
| | | |
| | | //æ´æ°æ¶è´§åä¿¡æ¯ |
| | | receiveOrder.ReceiveOrderStatus = ReceiveOrderStatusEnum.Completed.ObjToInt(); |
| | | receiveOrder.UploadStatus = WhetherEnum.True.ObjToInt(); |
| | | BaseDal.UpdateData(receiveOrder); |
| | | //å建å
¥åºå |
| | | CreateInboundOrder(orderId); |
| | | //æ¶è´§æ¨éè³ERP æµè¯æ³¨é |
| | | _invokeERPService.InvokeMatReceiveApi(receiveModel); |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
| | |
| | | |
| | | Dt_InboundOrder inboundOrder = new Dt_InboundOrder() |
| | | { |
| | | InboundOrderNo="IN"+DateTime.Now.ToString("yyyyMMddHHmmss"),//æµè¯ |
| | | UpperOrderNo = receiveOrder.ReceiveOrderNo, |
| | | CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(), |
| | | OrderStatus = InOrderStatusEnum.æªå¼å§.ObjToInt(), |
| | |
| | | SupplierId = receiveOrder.SuppliersId, |
| | | Details = new List<Dt_InboundOrderDetail>() |
| | | }; |
| | | |
| | | List<Dt_MaterielInfo> materielCodeInfos = _basicRepository.MaterielInfoRepository.QueryData(x => receiveOrder.Details.Select(x => x.MaterielCode).ToList().Contains(x.MaterielCode)); |
| | | foreach (var item in receiveOrder.Details) |
| | | { |
| | | float quantity = item.ReceivedQuantity; |
| | |
| | | Dt_InboundOrderDetail detail = new Dt_InboundOrderDetail() |
| | | { |
| | | MaterielCode = item.MaterielCode, |
| | | MaterielName = materielCodeInfos.FirstOrDefault(x => x.MaterielCode == item.MaterielCode)?.MaterielName ?? "", |
| | | OrderDetailStatus = OrderDetailStatusEnum.New.ObjToInt(), |
| | | OrderQuantity = quantity, |
| | | OverInQuantity = 0, |
| | |
| | | } |
| | | receiveOrder = new Dt_ReceiveOrder() |
| | | { |
| | | ReceiveOrderNo= "RE"+DateTime.Now.ToString("yyyyMMddHHmmss"),//æµè¯ |
| | | ReceiveOrderStatus = ReceiveOrderStatusEnum.Receiving.ObjToInt(), |
| | | CustomerId = "", |
| | | DeliveryCode = "/", |