public void Registrar(LogEtiquetagem logEtiquetagem) { logEtiquetagem.DataHora = DateTime.Now; var log = new Data.Models.LogEtiquetagem() { IdEmpresa = logEtiquetagem.IdEmpresa, IdProduto = logEtiquetagem.IdProduto, IdTipoEtiquetagem = (Data.Models.TipoEtiquetagemEnum)logEtiquetagem.IdTipoEtiquetagem, DataHora = DateTime.Now, IdUsuario = logEtiquetagem.IdUsuario, Quantidade = logEtiquetagem.Quantidade }; _unitOfWork.LogEtiquetagemRepository.Add(log); _unitOfWork.SaveChanges(); }
public JsonResult RecebimentoImprimir(RecebimentoEtiquetaViewModel viewModel) { try { if (!ModelState.IsValid) { return(Json(new AjaxGenericResultModel { Success = false, Message = "Não foi possível solicitar impressão." })); } _etiquetaService.ImprimirEtiquetaVolumeRecebimento(viewModel.NroLote.GetValueOrDefault(), viewModel.IdImpressora.GetValueOrDefault(), viewModel.NroVolume.GetValueOrDefault(), 1); // Lote: a quantidade salva é a quantidade de caixas/volume do lote. var logEtiquetagem = new LogEtiquetagem { //IdTipoEtiquetagem = viewModel.TipoEtiquetagem, IdTipoEtiquetagem = Data.Models.TipoEtiquetagemEnum.Recebimento.GetHashCode(), IdEmpresa = IdEmpresa, Quantidade = 1, IdUsuario = User.Identity.GetUserId() }; _logEtiquetagemService.Registrar(logEtiquetagem); return(Json(new AjaxGenericResultModel { Success = true, Message = "Impressão enviada com sucesso." }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { _log.Error(ex.Message, ex); return(Json(new AjaxGenericResultModel { Success = false, Message = "Ocorreu um erro na impressão." }, JsonRequestBehavior.AllowGet)); } }
public JsonResult LoteImprimir(LoteEtiquetaViewModel viewModel) { try { if (!ModelState.IsValid) { return(Json(new AjaxGenericResultModel { Success = false, Message = "Não foi possível solicitar impressão." })); } //Instância a lote produto. var loteProduto = _unitOfWork.LoteProdutoRepository.PesquisarProdutoNoLote(IdEmpresa, viewModel.NroLote.Value, viewModel.IdProduto); if (loteProduto == null) { return(Json(new AjaxGenericResultModel { Success = false, Message = "Não foi possível consultar o saldo do lote. Por favor, tente nvoamente!" })); } var quantidadeTotalProduto = viewModel.QtdCaixas * viewModel.QtdPorCaixa; //Verifica se o saldo do produto no lote é menor que a quantidade informada. if (loteProduto.Saldo < quantidadeTotalProduto) { return(Json(new AjaxGenericResultModel { Success = false, Message = "O saldo do produto no lote é menor que a quantidade informada. Por favor, tente novamente!" })); } var produto = _unitOfWork.ProdutoRepository.GetById(viewModel.IdProduto); var request = new ImprimirEtiquetaArmazenagemVolume { NroLote = viewModel.NroLote.GetValueOrDefault(), QuantidadeEtiquetas = viewModel.QtdCaixas.GetValueOrDefault(), QuantidadePorCaixa = viewModel.QtdPorCaixa.GetValueOrDefault(), ReferenciaProduto = produto.Referencia, Usuario = _unitOfWork.PerfilUsuarioRepository.GetByUserId(User.Identity.GetUserId())?.Nome, IdImpressora = viewModel.IdImpressora.GetValueOrDefault(), IdEmpresa = IdEmpresa }; _etiquetaService.ImprimirEtiquetaArmazenagemVolume(request); // Lote: a quantidade salva é a quantidade de caixas/volume do lote. var logEtiquetagem = new LogEtiquetagem { //IdTipoEtiquetagem = viewModel.TipoEtiquetagem, IdTipoEtiquetagem = Data.Models.TipoEtiquetagemEnum.Lote.GetHashCode(), IdEmpresa = IdEmpresa, Quantidade = viewModel.QtdCaixas.Value, IdUsuario = User.Identity.GetUserId() }; _logEtiquetagemService.Registrar(logEtiquetagem); return(Json(new AjaxGenericResultModel { Success = true, Message = "Impressão enviada com sucesso." }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { _log.Error(ex.Message, ex); return(Json(new AjaxGenericResultModel { Success = false, Message = "Ocorreu um erro na impressão." }, JsonRequestBehavior.AllowGet)); } }
public JsonResult LocacaoImprimir(LocacaoEtiquetaViewModel viewModel) { try { if (!ModelState.IsValid) { return(Json(new AjaxGenericResultModel { Success = false, Message = "Não foi possível solicitar impressão." })); } //Captura o ponto de armazenagem. var pontoArmazenagem = _unitOfWork.PontoArmazenagemRepository.GetById(viewModel.IdPontoArmazenagem); //Captura os enderços filtrando por nível, ponto e empresa. var listaEnderecos = _unitOfWork.EnderecoArmazenagemRepository.BuscarPorNivelEPontoArmazenagem( pontoArmazenagem.IdNivelArmazenagem, pontoArmazenagem.IdPontoArmazenagem, IdEmpresa); //Filtra por corredor e vertical. listaEnderecos = listaEnderecos.Where(x => x.Corredor == viewModel.Corredor && (viewModel.VerticalInicio.HasValue == false || x.Vertical >= viewModel.VerticalInicio.Value) && (viewModel.VerticalFim.HasValue == false || x.Vertical <= viewModel.VerticalFim.Value)).ToList(); var impressaoItem = _unitOfWork.ImpressaoItemRepository.Obter(viewModel.TipoEtiqueta); //Se a etiqueta for picking, filtra os endereços de picking. if (impressaoItem.IdImpressaoItem == Data.Models.ImpressaoItemEnum.EtiquetaPicking) { listaEnderecos = listaEnderecos.Where(x => x.IsPicking == true).ToList(); } else { listaEnderecos = listaEnderecos.Where(x => x.IsPicking == false).ToList(); } int quantidadeEtiqueta = 0; if (viewModel.TipoEtiqueta == (int)Data.Models.ImpressaoItemEnum.EtiquetaPicking) { foreach (var item in listaEnderecos) { var produtoInstalado = _unitOfWork.LoteProdutoEnderecoRepository.PesquisarPorEndereco(item.IdEnderecoArmazenagem); if (produtoInstalado != null) { if (viewModel.TamanhoEtiqueta == 1) { _etiquetaService.ImprimirEtiquetaPicking(new ImprimirEtiquetaPickingRequest() { IdEnderecoArmazenagem = item.IdEnderecoArmazenagem, IdProduto = produtoInstalado.IdProduto, IdImpressora = viewModel.IdImpressora.Value, QuantidadeEtiquetas = 1 }); } else { _etiquetaService.ImprimirEtiquetaFilete(produtoInstalado.IdProduto, item.IdEnderecoArmazenagem, viewModel.IdImpressora.Value); } quantidadeEtiqueta++; } } var logEtiquetagem = new LogEtiquetagem { IdTipoEtiquetagem = Data.Models.TipoEtiquetagemEnum.Picking.GetHashCode(), IdEmpresa = IdEmpresa, Quantidade = quantidadeEtiqueta, IdUsuario = User.Identity.GetUserId() }; _logEtiquetagemService.Registrar(logEtiquetagem); } else { foreach (var item in listaEnderecos) { _etiquetaService.ImprimirEtiquetaEndereco(new ImprimirEtiquetaEnderecoRequest() { IdEmpresa = IdEmpresa, IdEnderecoArmazenagem = item.IdEnderecoArmazenagem, IdImpressora = viewModel.IdImpressora.Value, IdUsuario = IdUsuario, QuantidadeEtiquetas = 1, TipoImpressao = viewModel.TamanhoEtiqueta == 1 ? EtiquetaEnderecoTipoImpressao.NORMAL_90_70 : EtiquetaEnderecoTipoImpressao.FILETE_104_24 }); quantidadeEtiqueta++; } var logEtiquetagem = new LogEtiquetagem { IdTipoEtiquetagem = Data.Models.TipoEtiquetagemEnum.Picking.GetHashCode(), IdEmpresa = IdEmpresa, Quantidade = quantidadeEtiqueta, IdUsuario = User.Identity.GetUserId() }; _logEtiquetagemService.Registrar(logEtiquetagem); } return(Json(new AjaxGenericResultModel { Success = true, Message = "Impressão enviada com sucesso." }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { _log.Error(ex.Message, ex); return(Json(new AjaxGenericResultModel { Success = false, Message = "Ocorreu um erro na impressão." }, JsonRequestBehavior.AllowGet)); } }
public JsonResult Imprimir(RecebimentoEtiquetaIndividualPersonalizadaViewModel viewModel) { try { if (!ModelState.IsValid) { return(Json(new AjaxGenericResultModel { Success = false, Message = "Não foi possível solicitar impressão." })); } if (viewModel.TipoEtiquetagem == Data.Models.TipoEtiquetagemEnum.Individual.GetHashCode()) { var produto = _unitOfWork.ProdutoRepository.GetById(viewModel.IdProduto.Value); if (produto == null) { return(Json(new AjaxGenericResultModel { Success = false, Message = "Rerência não encontrada. Por favor, tente novamente!" })); } var request = new ImprimirEtiquetaProdutoBase { IdImpressora = viewModel.IdImpressora.GetValueOrDefault(), IdEmpresa = IdEmpresa, QuantidadeEtiquetas = viewModel.Quantidade.Value, ReferenciaProduto = produto.Referencia, IdUsuario = IdUsuario }; _etiquetaService.ImprimirEtiquetaPeca(request); } else if (viewModel.TipoEtiquetagem == Data.Models.TipoEtiquetagemEnum.Personalizada.GetHashCode()) { var produto = _unitOfWork.ProdutoRepository.GetById(viewModel.IdProduto.Value); if (produto == null) { return(Json(new AjaxGenericResultModel { Success = false, Message = "Rerência não encontrada. Por favor, tente novamente!" })); } var request = new ImprimirEtiquetaProdutoBase { IdImpressora = viewModel.IdImpressora.GetValueOrDefault(), IdEmpresa = IdEmpresa, QuantidadeEtiquetas = viewModel.Quantidade.Value, ReferenciaProduto = produto.Referencia, IdUsuario = IdUsuario }; _etiquetaService.ImprimirEtiquetaPersonalizada(request); } else if (viewModel.TipoEtiquetagem == Data.Models.TipoEtiquetagemEnum.Avulso.GetHashCode()) { var requestAvulso = new ImprimirEtiquetaAvulsoRequest { IdEmpresa = IdEmpresa, IdImpressora = viewModel.IdImpressora.GetValueOrDefault(), QuantidadeEtiquetas = viewModel.Quantidade.Value, IdUsuario = IdUsuario }; _etiquetaService.ImprimirEtiquetaAvulso(requestAvulso); } // TODO: verificar, pois a Individual imprime 2 tipos de etiqueta var logEtiquetagem = new LogEtiquetagem { IdTipoEtiquetagem = viewModel.TipoEtiquetagem, IdEmpresa = IdEmpresa, IdProduto = viewModel.IdProduto, Quantidade = viewModel.Quantidade.Value, IdUsuario = User.Identity.GetUserId() }; _logEtiquetagemService.Registrar(logEtiquetagem); return(Json(new AjaxGenericResultModel { Success = true, Message = "Impressão enviada com sucesso." }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { _log.Error(ex.Message, ex); return(Json(new AjaxGenericResultModel { Success = false, Message = "Ocorreu um erro na impressão." }, JsonRequestBehavior.AllowGet)); } }