@seniorsistemas/yms-integration 1.10.0 → 1.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8121,7 +8121,7 @@
8121
8121
  filialId: (this.formGroup.get("filial").value && this.formGroup.get("filial").value.id) || null,
8122
8122
  chaveDocumento: value.trim() || ""
8123
8123
  }).pipe(operators.takeUntil(this.ngUnsubscribe), operators.finalize(function () { return _this.loading = false; })).subscribe(function (response) {
8124
- _this.adicionarNovaNota(response);
8124
+ _this.addNovaNota(response);
8125
8125
  });
8126
8126
  }
8127
8127
  };
@@ -8162,7 +8162,7 @@
8162
8162
  _this.formGroup.patchValue(recebimentoOrdemCompra);
8163
8163
  recebimentoOrdemCompra.fornecedores.forEach(function (fornecedor) {
8164
8164
  var form = _this.getFornecedorForm(fornecedor);
8165
- _this.getFornecedores().push(form);
8165
+ _this.getFornecedoresForm().push(form);
8166
8166
  fornecedor.ordens.forEach(function (ordemCompra) {
8167
8167
  var ordemCompraForm = _this.getOrdemCompraForm(ordemCompra);
8168
8168
  _this.getOrdensCompra(form).push(ordemCompraForm);
@@ -8480,7 +8480,7 @@
8480
8480
  RecebimentoOrdemCompraFormComponent.prototype.addFornecedor = function (data) {
8481
8481
  this.erroFornecedores = false;
8482
8482
  var fornecedor = this.getFornecedorForm(data);
8483
- this.getFornecedores().push(fornecedor);
8483
+ this.getFornecedoresForm().push(fornecedor);
8484
8484
  return fornecedor;
8485
8485
  };
8486
8486
  RecebimentoOrdemCompraFormComponent.prototype.removeFornecedor = function (control) {
@@ -8489,8 +8489,8 @@
8489
8489
  header: this.translate.instant("yms.erp.remove_fornecedor_header"),
8490
8490
  message: this.translate.instant("yms.erp.remove_fornecedor_message"),
8491
8491
  accept: function () {
8492
- var index = _this.getFornecedores().controls.indexOf(control);
8493
- _this.getFornecedores().removeAt(index);
8492
+ var index = _this.getFornecedoresForm().controls.indexOf(control);
8493
+ _this.getFornecedoresForm().removeAt(index);
8494
8494
  }
8495
8495
  });
8496
8496
  };
@@ -8506,7 +8506,7 @@
8506
8506
  this.checkValuesChanges(formGroup, "fornecedor", "origemMercadoria", this.origemMercadoriaService, getFilterQueryFornecedor, ['codigo', 'endereco'], function (val) { return PessoaEndereco.fromDto(val); }, 10, false, true);
8507
8507
  return formGroup;
8508
8508
  };
8509
- RecebimentoOrdemCompraFormComponent.prototype.getFornecedores = function () {
8509
+ RecebimentoOrdemCompraFormComponent.prototype.getFornecedoresForm = function () {
8510
8510
  return this.formGroup.get("fornecedores");
8511
8511
  };
8512
8512
  RecebimentoOrdemCompraFormComponent.prototype.getNotas = function (formGroup) {
@@ -8701,12 +8701,23 @@
8701
8701
  RecebimentoOrdemCompraFormComponent.prototype.getSaveObservable = function () {
8702
8702
  var value = this.formGroup.getRawValue();
8703
8703
  value.empresa = value.filial.empresa;
8704
- var recebimentoOrdemCompraDto = RecebimentoOrdemCompra.toDto(value);
8704
+ var recebimentoDto = RecebimentoOrdemCompra.toDto(value);
8705
+ var fornecedores = recebimentoDto.fornecedores;
8706
+ recebimentoDto.fornecedores.forEach(function (anterior) {
8707
+ recebimentoDto.fornecedores.forEach(function (posterior) {
8708
+ if (anterior.fornecedor.id === posterior.fornecedor.id &&
8709
+ anterior.origemMercadoria.id === posterior.origemMercadoria.id) {
8710
+ posterior.contratos.forEach(function (contrato) { return anterior.contratos.push(contrato); });
8711
+ fornecedores = fornecedores.splice(fornecedores.indexOf(posterior), 1);
8712
+ }
8713
+ });
8714
+ });
8715
+ recebimentoDto.fornecedores = fornecedores;
8705
8716
  if (this.isNew() && !value.id) {
8706
- return this.recebimentoOrdemCompraService.insert(recebimentoOrdemCompraDto);
8717
+ return this.recebimentoOrdemCompraService.insert(recebimentoDto);
8707
8718
  }
8708
8719
  else {
8709
- return this.recebimentoOrdemCompraService.update(this.formGroup.value.id, recebimentoOrdemCompraDto);
8720
+ return this.recebimentoOrdemCompraService.update(this.formGroup.value.id, recebimentoDto);
8710
8721
  }
8711
8722
  };
8712
8723
  RecebimentoOrdemCompraFormComponent.prototype.getFormGroup = function () {
@@ -8736,14 +8747,14 @@
8736
8747
  }
8737
8748
  });
8738
8749
  };
8739
- RecebimentoOrdemCompraFormComponent.prototype.adicionarNovaNota = function (response) {
8750
+ RecebimentoOrdemCompraFormComponent.prototype.addNovaNota = function (response) {
8740
8751
  var values = (response.documentos || []).length ? response.documentos[0] : undefined;
8741
8752
  if (!values) {
8742
8753
  return;
8743
8754
  }
8744
8755
  var fornecedor = Pessoa.fromDto(values.fornecedor);
8745
8756
  var origemMercadoria = PessoaEndereco.fromDto(values.origemMercadoria);
8746
- var fornecedorForm = this.getFornecedores().controls.find(function (_a) {
8757
+ var fornecedorForm = this.getFornecedoresForm().controls.find(function (_a) {
8747
8758
  var value = _a.value;
8748
8759
  return value.fornecedor.id === fornecedor.id;
8749
8760
  });
@@ -9009,7 +9020,7 @@
9009
9020
  RecebimentoOrdemCompraFormComponent = __decorate([
9010
9021
  core.Component({
9011
9022
  selector: 'recebimento-ordem-compra-form',
9012
- template: "<p-confirmDialog [acceptLabel]=\"'yes' | translate\" acceptIcon=\"\" [rejectLabel]=\"'no' | translate\" rejectIcon=\"\">\n</p-confirmDialog>\n<div *sLoadingState=\"loading\">\n <form [formGroup]=\"formGroup\">\n <div class=\"ui-fluid ui-g\">\n\n <div class=\"ui-g-12\">\n <label for=\"chaveNotaFiscal\">{{'yms.erp.recebimento_chave_nota_fiscal' | translate}}</label>\n <input pInputText type=\"text\" [(ngModel)]=\"chaveNotaFiscal\" [ngModelOptions]=\"{standalone: true}\" (blur)=\"onBlurChaveNotaFiscal()\">\n <!-- <input [class.ng-invalid]=\"erroChaveNota\" pInputText type=\"text\" [(ngModel)]=\"chaveNotaFiscal\" [ngModelOptions]=\"{standalone: true}\" (blur)=\"onBlurChaveNotaFiscal()\"> -->\n <!-- <span class=\"input-error\" *ngIf=\"erroChaveNota\">{{'yms.erp.produto_nota_error_detail' | translate}}</span> -->\n </div>\n\n <div class=\"ui-md-6 ui-g-12 required\">\n <label for=\"filial\">{{'yms.erp.recebimento_ordem_compra_filial' | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"filial\" name=\"filial\" formControlName=\"filial\"\n [searchFields]=\"filialSearchFields\" [searchGridFields]=\"filialSearchGridFields\"\n [searchGridData]=\"filialSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"filialLookupSuggestions\" (onLookupRequest)=\"onFilialLookupRequest($event)\"\n (onSearchRequest)=\"onFilialSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"filialSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.filial_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: filialSearchTotalRecords}\">\n </s-lookup>\n <s-control-errors [control]=\"formGroup.controls['filial']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\"></s-control-errors>\n </div>\n\n <div class=\"ui-md-6 ui-g-12\">\n <label for=\"transportadora\">{{'yms.erp.recebimento_ordem_compra_transportadora' | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"transportadora\" name=\"transportadora\" formControlName=\"transportadora\"\n [searchFields]=\"transportadoraSearchFields\" [searchGridFields]=\"transportadoraSearchFields\"\n [searchGridData]=\"transportadoraSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"transportadoraLookupSuggestions\"\n (onLookupRequest)=\"onTransportadoraLookupRequest($event)\"\n (onSearchRequest)=\"onTransportadoraSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"transportadoraSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.transportadora_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: transportadoraSearchTotalRecords}\">\n </s-lookup>\n </div>\n\n <div class=\"ui-g-12\" style=\"text-align: right;\" *ngIf=\"totalEixosContratados || totalEixosComposicao\">\n <label for=\"totalEixosContratados\" float=\"right\" style=\"display: inline;\">\n {{totalEixosContratados}} {{'yms.erp.total_eixos_contratados' | translate}} /\n </label>\n <label for=\"totalEixosComposicao\" float=\"right\" style=\"display: inline;\">\n {{totalEixosComposicao}} {{'yms.erp.total_eixos_composicao' | translate}}\n </label>\n </div>\n\n <div class=\"ui-md-12\">\n <s-button *ngIf=\"showButtons() && !!formGroup.get('filial').value && !createdByErp\" styleClass=\"btn-erp-forms\" iconClass=\"fas fa-plus\" label=\"Adicionar fornecedor\" priority=\"secondary\" (onClick)=\"addFornecedor()\"></s-button>\n <span style=\"display: block;\" class=\"input-error\" *ngIf=\"erroFornecedores\">{{'Selecione ao menos um fornecedor para continuar' | translate}}</span>\n </div>\n\n <form class=\"ui-g-12\" *ngFor=\"let fornecedorForm of getFornecedores().controls; let i = index;\" [formGroup]=\"fornecedorForm\">\n <p-panel [style]=\"{position: 'relative'}\" styleClass=\"form-group ui-g-12 ui-md-12\" [toggleable]=\"true\">\n\n <p-header>\n Fornecedor {{+i+1}}\n <s-button \n style=\"display: inline-block; position: absolute; right: 50px; top: 10px\" \n *ngIf=\"showButtons() && !createdByErp\"\n iconClass=\"fas fa-trash\"\n label=\"Remover\"\n priority=\"default\"\n [auxiliary]=\"true\"\n (onClick)=\"removeFornecedor(fornecedorForm)\">\n </s-button>\n </p-header>\n \n <div class=\"ui-md-6 ui-g-12 required\">\n <label for=\"fornecedor\">{{'yms.erp.recebimento_ordem_compra_fornecedor' | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"fornecedor\" name=\"fornecedor\" formControlName=\"fornecedor\"\n [searchFields]=\"fornecedorSearchFields\" [searchGridFields]=\"fornecedorSearchFields\"\n [searchGridData]=\"fornecedorSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"fornecedorLookupSuggestions\"\n (onLookupRequest)=\"onFornecedorLookupRequest($event)\"\n (onSearchRequest)=\"onFornecedorSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"fornecedorSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.fornecedor_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: { value: fornecedorSearchTotalRecords }\">\n </s-lookup>\n <s-control-errors\n [control]=\"fornecedorForm.get('fornecedor')\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\">\n </s-control-errors>\n </div>\n\n <div class=\"ui-md-6 ui-g-12\">\n <label for=\"origem_mercadoria\">{{'yms.erp.recebimento_ordem_compra_mercadoria' | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"origem_mercadoria\" name=\"origem_mercadoria\" formControlName=\"origemMercadoria\" \n [searchFields]=\"origemMercadoriaSearchFields\" [searchGridFields]=\"origemMercadoriaSearchFields\"\n [searchGridData]=\"origemMercadoriaSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"origemMercadoriaLookupSuggestions\" lookupDisplayField=\"label\"\n (onLookupRequest)=\"onOrigemMercadoriaLookupRequest(fornecedorForm, $event)\"\n (onSearchRequest)=\"onOrigemMercadoriaSearchRequest(fornecedorForm, $event)\" \n [searchTotalRecords]=\"origemMercadoriaSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.origem_mercadoria_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: { value: origemMercadoriaSearchTotalRecords }\">\n </s-lookup>\n </div>\n\n <div class=\"ui-g-12\">\n <label for=\"fornecedorNotas\">Notas a serem adicionadas</label>\n <s-token-list id=\"fornecedorNotas\" [tokens]=\"fornecedorNotasTokens\" (tokenSelected)=\"addFornecedorNotasTokenEmOrdemCompra(fornecedorForm, $event)\" (tokenRemoved)=\"removeFornecedorNotasTokenDaOrdemCompra($event)\" [removableTokens]=\"true\"></s-token-list>\n </div>\n\n <div class=\"ui-g-12\">\n <s-button label=\"Adicionar nota\" *ngIf=\"showButtons()\" styleClass=\"btn-erp-forms\" priority=\"secondary\" (onClick)=\"addNota(fornecedorForm)\" [disabled]=\"disableAdicionarNota()\"></s-button>\n <s-button label=\"Adicionar ordem de compra\" *ngIf=\"showButtons() && !createdByErp\" styleClass=\"btn-erp-forms\" priority=\"secondary\" (onClick)=\"addOrdemCompra(fornecedorForm)\"></s-button>\n </div>\n\n <div class=\"ui-g-12\">\n <h4>Ordens de Compra</h4>\n <p-table [value]=\"getOrdensCompra(fornecedorForm).controls\" [(selection)]=\"ordemCompraSelecionado\">\n <ng-template pTemplate=\"body\" let-rowData>\n <tr [pSelectableRow]=\"rowData\">\n <td style=\"width: 50px\">\n <p-tableRadioButton [value]=\"rowData.get('ordemCompra').value\"></p-tableRadioButton>\n </td>\n <td>\n <p-accordion>\n <p-accordionTab>\n <p-header>\n Ordem {{rowData.get('ordemCompra').value.codigo}}, Filial {{rowData.get('ordemCompra').value.filial?.codigo}}\n\n <span *ngIf=\"showButtons() && !createdByErp\" style=\"margin-left: 10px; float: right;\" class=\"fas fa-trash\" (click)=\"removerOrdemCompra(fornecedorForm, rowData)\"></span>\n </p-header>\n\n <div class=\"detail-pane\">\n <div class=\"detail-span\">\n <span class=\"title\">Notas</span>\n <span class=\"data\">\n <p-accordion>\n <p-accordionTab *ngFor=\"let nota of getNotas(rowData).controls\">\n <p-header>\n {{nota.get('chaveNotaFiscal').value || (nota.get('serieNotaFiscal').value + ' - ' + nota.get('numeroNotaFiscal').value)}}\n\n <span *ngIf=\"showButtons()\" style=\"margin-left: 10px; float: right;\" class=\"fas fa-trash\" (click)=\"removerNota(fornecedorForm, rowData, nota)\"></span>\n </p-header>\n\n <div class=\"detail-pane\">\n <div class=\"detail-span\">\n <span class=\"title\">S\u00E9rie nota fiscal</span>\n <span class=\"data\">{{nota.value?.serieNotaFiscal}}</span>\n </div>\n <div class=\"detail-span\">\n <span class=\"title\">S\u00E9rie legal nota fiscal</span>\n <span class=\"data\">{{nota.value?.serieLegalNotaFiscal}}</span>\n </div>\n <div class=\"detail-span\">\n <span class=\"title\">N\u00FAmero nota fiscal</span>\n <span class=\"data\">{{nota.value?.numeroNotaFiscal}}</span>\n </div>\n </div>\n\n </p-accordionTab> \n </p-accordion>\n </span>\n </div>\n </div>\n </p-accordionTab>\n </p-accordion>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </p-panel>\n </form>\n </div>\n </form>\n\n <div style=\"margin: 5px 0 5px 0;\">\n <s-button *ngIf=\"showButtons()\" priority=\"primary\" [label]=\"'save' | translate\" (onClick)=\"onSave()\"\n [disabled]=\"loading || disableButtonSave\">\n </s-button>\n <s-button *ngIf=\"saveAndInitButton && showButtons()\" priority=\"primary\" [label]=\"'save_and_init' | translate\"\n (onClick)=\"onSave(true)\" [disabled]=\"loading || disableButtonSave\">\n </s-button>\n </div>\n</div>",
9023
+ template: "<p-confirmDialog [acceptLabel]=\"'yes' | translate\" acceptIcon=\"\" [rejectLabel]=\"'no' | translate\" rejectIcon=\"\">\n</p-confirmDialog>\n<div *sLoadingState=\"loading\">\n <form [formGroup]=\"formGroup\">\n <div class=\"ui-fluid ui-g\">\n\n <div class=\"ui-g-12\">\n <label for=\"chaveNotaFiscal\">{{'yms.erp.recebimento_chave_nota_fiscal' | translate}}</label>\n <input pInputText type=\"text\" [(ngModel)]=\"chaveNotaFiscal\" [ngModelOptions]=\"{standalone: true}\" (blur)=\"onBlurChaveNotaFiscal()\">\n <!-- <input [class.ng-invalid]=\"erroChaveNota\" pInputText type=\"text\" [(ngModel)]=\"chaveNotaFiscal\" [ngModelOptions]=\"{standalone: true}\" (blur)=\"onBlurChaveNotaFiscal()\"> -->\n <!-- <span class=\"input-error\" *ngIf=\"erroChaveNota\">{{'yms.erp.produto_nota_error_detail' | translate}}</span> -->\n </div>\n\n <div class=\"ui-md-6 ui-g-12 required\">\n <label for=\"filial\">{{'yms.erp.recebimento_ordem_compra_filial' | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"filial\" name=\"filial\" formControlName=\"filial\"\n [searchFields]=\"filialSearchFields\" [searchGridFields]=\"filialSearchGridFields\"\n [searchGridData]=\"filialSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"filialLookupSuggestions\" (onLookupRequest)=\"onFilialLookupRequest($event)\"\n (onSearchRequest)=\"onFilialSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"filialSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.filial_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: filialSearchTotalRecords}\">\n </s-lookup>\n <s-control-errors [control]=\"formGroup.controls['filial']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\"></s-control-errors>\n </div>\n\n <div class=\"ui-md-6 ui-g-12\">\n <label for=\"transportadora\">{{'yms.erp.recebimento_ordem_compra_transportadora' | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"transportadora\" name=\"transportadora\" formControlName=\"transportadora\"\n [searchFields]=\"transportadoraSearchFields\" [searchGridFields]=\"transportadoraSearchFields\"\n [searchGridData]=\"transportadoraSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"transportadoraLookupSuggestions\"\n (onLookupRequest)=\"onTransportadoraLookupRequest($event)\"\n (onSearchRequest)=\"onTransportadoraSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"transportadoraSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.transportadora_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: transportadoraSearchTotalRecords}\">\n </s-lookup>\n </div>\n\n <div class=\"ui-g-12\" style=\"text-align: right;\" *ngIf=\"totalEixosContratados || totalEixosComposicao\">\n <label for=\"totalEixosContratados\" float=\"right\" style=\"display: inline;\">\n {{totalEixosContratados}} {{'yms.erp.total_eixos_contratados' | translate}} /\n </label>\n <label for=\"totalEixosComposicao\" float=\"right\" style=\"display: inline;\">\n {{totalEixosComposicao}} {{'yms.erp.total_eixos_composicao' | translate}}\n </label>\n </div>\n\n <div class=\"ui-md-12\">\n <s-button *ngIf=\"showButtons() && !!formGroup.get('filial').value && !createdByErp\" styleClass=\"btn-erp-forms\" iconClass=\"fas fa-plus\" label=\"Adicionar fornecedor\" priority=\"secondary\" (onClick)=\"addFornecedor()\"></s-button>\n <span style=\"display: block;\" class=\"input-error\" *ngIf=\"erroFornecedores\">{{'Selecione ao menos um fornecedor para continuar' | translate}}</span>\n </div>\n\n <form class=\"ui-g-12\" *ngFor=\"let fornecedorForm of getFornecedoresForm().controls; let i = index;\" [formGroup]=\"fornecedorForm\">\n <p-panel [style]=\"{position: 'relative'}\" styleClass=\"form-group ui-g-12 ui-md-12\" [toggleable]=\"true\">\n\n <p-header>\n Fornecedor {{+i+1}}\n <s-button \n style=\"display: inline-block; position: absolute; right: 50px; top: 10px\" \n *ngIf=\"showButtons() && !createdByErp\"\n iconClass=\"fas fa-trash\"\n label=\"Remover\"\n priority=\"default\"\n [auxiliary]=\"true\"\n (onClick)=\"removeFornecedor(fornecedorForm)\">\n </s-button>\n </p-header>\n \n <div class=\"ui-md-6 ui-g-12 required\">\n <label for=\"fornecedor\">{{'yms.erp.recebimento_ordem_compra_fornecedor' | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"fornecedor\" name=\"fornecedor\" formControlName=\"fornecedor\"\n [searchFields]=\"fornecedorSearchFields\" [searchGridFields]=\"fornecedorSearchFields\"\n [searchGridData]=\"fornecedorSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"fornecedorLookupSuggestions\"\n (onLookupRequest)=\"onFornecedorLookupRequest($event)\"\n (onSearchRequest)=\"onFornecedorSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"fornecedorSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.fornecedor_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: { value: fornecedorSearchTotalRecords }\">\n </s-lookup>\n <s-control-errors\n [control]=\"fornecedorForm.get('fornecedor')\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\">\n </s-control-errors>\n </div>\n\n <div class=\"ui-md-6 ui-g-12\">\n <label for=\"origem_mercadoria\">{{'yms.erp.recebimento_ordem_compra_mercadoria' | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"origem_mercadoria\" name=\"origem_mercadoria\" formControlName=\"origemMercadoria\" \n [searchFields]=\"origemMercadoriaSearchFields\" [searchGridFields]=\"origemMercadoriaSearchFields\"\n [searchGridData]=\"origemMercadoriaSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"origemMercadoriaLookupSuggestions\" lookupDisplayField=\"label\"\n (onLookupRequest)=\"onOrigemMercadoriaLookupRequest(fornecedorForm, $event)\"\n (onSearchRequest)=\"onOrigemMercadoriaSearchRequest(fornecedorForm, $event)\" \n [searchTotalRecords]=\"origemMercadoriaSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.origem_mercadoria_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: { value: origemMercadoriaSearchTotalRecords }\">\n </s-lookup>\n </div>\n\n <div class=\"ui-g-12\">\n <label for=\"fornecedorNotas\">Notas a serem adicionadas</label>\n <s-token-list id=\"fornecedorNotas\" [tokens]=\"fornecedorNotasTokens\" (tokenSelected)=\"addFornecedorNotasTokenEmOrdemCompra(fornecedorForm, $event)\" (tokenRemoved)=\"removeFornecedorNotasTokenDaOrdemCompra($event)\" [removableTokens]=\"true\"></s-token-list>\n </div>\n\n <div class=\"ui-g-12\">\n <s-button label=\"Adicionar nota\" *ngIf=\"showButtons()\" styleClass=\"btn-erp-forms\" priority=\"secondary\" (onClick)=\"addNota(fornecedorForm)\" [disabled]=\"disableAdicionarNota()\"></s-button>\n <s-button label=\"Adicionar ordem de compra\" *ngIf=\"showButtons() && !createdByErp\" styleClass=\"btn-erp-forms\" priority=\"secondary\" (onClick)=\"addOrdemCompra(fornecedorForm)\"></s-button>\n </div>\n\n <div class=\"ui-g-12\">\n <h4>Ordens de Compra</h4>\n <p-table [value]=\"getOrdensCompra(fornecedorForm).controls\" [(selection)]=\"ordemCompraSelecionado\">\n <ng-template pTemplate=\"body\" let-rowData>\n <tr [pSelectableRow]=\"rowData\">\n <td style=\"width: 50px\">\n <p-tableRadioButton [value]=\"rowData.get('ordemCompra').value\"></p-tableRadioButton>\n </td>\n <td>\n <p-accordion>\n <p-accordionTab>\n <p-header>\n Ordem {{rowData.get('ordemCompra').value.codigo}}, Filial {{rowData.get('ordemCompra').value.filial?.codigo}}\n\n <span *ngIf=\"showButtons() && !createdByErp\" style=\"margin-left: 10px; float: right;\" class=\"fas fa-trash\" (click)=\"removerOrdemCompra(fornecedorForm, rowData)\"></span>\n </p-header>\n\n <div class=\"detail-pane\">\n <div class=\"detail-span\">\n <span class=\"title\">Notas</span>\n <span class=\"data\">\n <p-accordion>\n <p-accordionTab *ngFor=\"let nota of getNotas(rowData).controls\">\n <p-header>\n {{nota.get('chaveNotaFiscal').value || (nota.get('serieNotaFiscal').value + ' - ' + nota.get('numeroNotaFiscal').value)}}\n\n <span *ngIf=\"showButtons()\" style=\"margin-left: 10px; float: right;\" class=\"fas fa-trash\" (click)=\"removerNota(fornecedorForm, rowData, nota)\"></span>\n </p-header>\n\n <div class=\"detail-pane\">\n <div class=\"detail-span\">\n <span class=\"title\">S\u00E9rie nota fiscal</span>\n <span class=\"data\">{{nota.value?.serieNotaFiscal}}</span>\n </div>\n <div class=\"detail-span\">\n <span class=\"title\">S\u00E9rie legal nota fiscal</span>\n <span class=\"data\">{{nota.value?.serieLegalNotaFiscal}}</span>\n </div>\n <div class=\"detail-span\">\n <span class=\"title\">N\u00FAmero nota fiscal</span>\n <span class=\"data\">{{nota.value?.numeroNotaFiscal}}</span>\n </div>\n </div>\n\n </p-accordionTab> \n </p-accordion>\n </span>\n </div>\n </div>\n </p-accordionTab>\n </p-accordion>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </p-panel>\n </form>\n </div>\n </form>\n\n <div style=\"margin: 5px 0 5px 0;\">\n <s-button *ngIf=\"showButtons()\" priority=\"primary\" [label]=\"'save' | translate\" (onClick)=\"onSave()\"\n [disabled]=\"loading || disableButtonSave\">\n </s-button>\n <s-button *ngIf=\"saveAndInitButton && showButtons()\" priority=\"primary\" [label]=\"'save_and_init' | translate\"\n (onClick)=\"onSave(true)\" [disabled]=\"loading || disableButtonSave\">\n </s-button>\n </div>\n</div>",
9013
9024
  providers: [api.ConfirmationService],
9014
9025
  styles: [".required-h3{font-size:1.17rem;font-weight:700}.required-h3::after{content:'*';color:#c13018;font-weight:400;margin-left:5px;font-size:14px}.error-required-message{color:#c13018;margin-top:5px;font-size:12px}.separator{width:100%;margin:5px 0;height:1px;background-color:#ccc}.input-error{color:#c13018}.detail-pane{display:flex;flex-wrap:wrap;justify-content:flex-start}.detail-pane .detail-span{width:50%;padding:10px 0;display:flex;flex-direction:column}.detail-pane .detail-span .title{font-size:14px;opacity:.7;margin-bottom:4px}.detail-pane .detail-span .data{font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nota-error{color:#c13018}"]
9015
9026
  }),
@@ -9840,9 +9851,52 @@
9840
9851
  this.notaValidatorService.pesquisarDocumentoValidaNotaEmUso({
9841
9852
  filialId: (this.formGroup.get("filial").value && this.formGroup.get("filial").value.id) || null,
9842
9853
  chaveDocumento: value.trim()
9843
- }).pipe(operators.takeUntil(this.ngUnsubscribe), operators.finalize(function () { return _this.loading = false; })).subscribe(function (response) { return _this.adicionarNovaNota(response); });
9854
+ }).pipe(operators.takeUntil(this.ngUnsubscribe), operators.finalize(function () { return _this.loading = false; })).subscribe(function (response) { return _this.addNovaNota(response); });
9844
9855
  }
9845
9856
  };
9857
+ RecebimentoFormComponent.prototype.addNovaNota = function (response) {
9858
+ var value = (response.documentos || []).length ? response.documentos[0] : undefined;
9859
+ if (!value)
9860
+ return;
9861
+ var itemProduto = value.itens[0] || { produto: undefined, derivacao: undefined };
9862
+ var produto = Produto.fromDto(itemProduto.produto);
9863
+ if (!this.formGroup.get("produto").value && !!itemProduto.produto) {
9864
+ this.formGroup.get("produto").setValue(produto);
9865
+ this.formGroup.get("derivacao").setValue(Derivacao.fromDto(itemProduto.derivacao));
9866
+ }
9867
+ else if (!!itemProduto.produto && !this.validateProduto(produto)) {
9868
+ this.addNotaError();
9869
+ return;
9870
+ }
9871
+ var fornecedor = Pessoa.fromDto(value.fornecedor);
9872
+ var origemMercadoria = PessoaEndereco.fromDto(value.origemMercadoria);
9873
+ var fornecedorForm = this.getFornecedoresForm().controls.find(function (_a) {
9874
+ var value = _a.value;
9875
+ return value.fornecedor.id === fornecedor.id;
9876
+ });
9877
+ var fornecedorOfGroup = this.validarCnpjFornecedor(fornecedor.cpfCnpj);
9878
+ if (fornecedorOfGroup) {
9879
+ if (!fornecedorForm) {
9880
+ this.addFornecedor({ fornecedor: fornecedor, origemMercadoria: origemMercadoria });
9881
+ }
9882
+ this.addFornecedorNotasToken(value);
9883
+ }
9884
+ else if (!fornecedorForm) {
9885
+ this.addFornecedor({ fornecedor: fornecedor, origemMercadoria: origemMercadoria });
9886
+ this.addFornecedorNotasToken(value);
9887
+ }
9888
+ };
9889
+ RecebimentoFormComponent.prototype.addFornecedorNotasToken = function (value) {
9890
+ this.fornecedorNotasTokens.push({ id: this.chaveNotaFiscal, label: value.numero });
9891
+ this.fornecedorNotas.push({
9892
+ chaveNotaFiscal: this.chaveNotaFiscal,
9893
+ serieNotaFiscal: value.serie,
9894
+ serieLegalNotaFiscal: value.serieLegal,
9895
+ numeroNotaFiscal: value.numero,
9896
+ });
9897
+ this.chaveNotaFiscal = undefined;
9898
+ this.loading = false;
9899
+ };
9846
9900
  RecebimentoFormComponent.prototype.isNew = function () {
9847
9901
  return !this.formGroup.value.id;
9848
9902
  };
@@ -9889,7 +9943,6 @@
9889
9943
  };
9890
9944
  this.permissions = data.allPermissions.recebimento;
9891
9945
  this.allPermissions = data.allPermissions;
9892
- //this.validateVisualization();
9893
9946
  if (data.entity) {
9894
9947
  var canEdit = this.permissions.editar;
9895
9948
  if (!canEdit)
@@ -10050,7 +10103,7 @@
10050
10103
  _this.formGroup.patchValue(recebimento);
10051
10104
  recebimento.fornecedores.forEach(function (fornecedor) {
10052
10105
  var form = _this.getFornecedorForm(fornecedor);
10053
- _this.getFornecedores().push(form);
10106
+ _this.getFornecedoresForm().push(form);
10054
10107
  fornecedor.contratos.forEach(function (contrato) {
10055
10108
  var contratoForm = _this.getContratoForm(contrato);
10056
10109
  _this.getContratos(form).push(contratoForm);
@@ -10534,7 +10587,7 @@
10534
10587
  this.erroFornecedores = false;
10535
10588
  var form = this.getFornecedorForm(data);
10536
10589
  this.configureFornecedor(form);
10537
- this.getFornecedores().push(form);
10590
+ this.getFornecedoresForm().push(form);
10538
10591
  return form;
10539
10592
  };
10540
10593
  RecebimentoFormComponent.prototype.removeFornecedor = function (control) {
@@ -10543,12 +10596,12 @@
10543
10596
  header: this.translate.instant("yms.erp.remove_fornecedor_header"),
10544
10597
  message: this.translate.instant("yms.erp.remove_fornecedor_message"),
10545
10598
  accept: function () {
10546
- var index = _this.getFornecedores().controls.indexOf(control);
10547
- _this.getFornecedores().removeAt(index);
10599
+ var index = _this.getFornecedoresForm().controls.indexOf(control);
10600
+ _this.getFornecedoresForm().removeAt(index);
10548
10601
  }
10549
10602
  });
10550
10603
  };
10551
- RecebimentoFormComponent.prototype.getFornecedores = function () {
10604
+ RecebimentoFormComponent.prototype.getFornecedoresForm = function () {
10552
10605
  return this.formGroup.get("fornecedores");
10553
10606
  };
10554
10607
  RecebimentoFormComponent.prototype.addContrato = function (fornecedorForm) {
@@ -10734,7 +10787,6 @@
10734
10787
  this.addMessage("error", "Contrato não selecionado", "Nenhum contrato foi selecionado!");
10735
10788
  };
10736
10789
  RecebimentoFormComponent.prototype.onNotaSaved = function (value, fornecedorForm) {
10737
- var _this = this;
10738
10790
  if (this.contratoSelecionado === null) {
10739
10791
  this.mensagemContratoNaoSelecionado();
10740
10792
  return;
@@ -10747,7 +10799,6 @@
10747
10799
  return;
10748
10800
  }
10749
10801
  var existsFornecedor = this.formGroup.get("fornecedores").controls.find(function (form) { return (form.value.fornecedor || { id: undefined }).id === value.fornecedor.id; });
10750
- var fornecedorOfGroup = this.validarCnpjFornecedor((fornecedorForm.value.fornecedor || { cpfCnpj: undefined }).cpfCnpj);
10751
10802
  var infoNota = value.infoNota;
10752
10803
  var notaForm = this.getNotaForm({
10753
10804
  chaveNotaFiscal: infoNota.chave,
@@ -10765,21 +10816,6 @@
10765
10816
  var notasForm = this.getNotasFromContratos(fornecedorForm, this.contratoSelecionado.id);
10766
10817
  notasForm.push(notaForm);
10767
10818
  }
10768
- else if (fornecedorOfGroup) {
10769
- this.confirmationService.confirm({
10770
- header: 'Fornecedor do mesmo grupo já cadastrado',
10771
- message: 'Um fornecedor do mesmo grupo parece já ter sido selecionado, deseja vincular a nota ao mesmo fornecedor?',
10772
- accept: function () {
10773
- var notasForm = _this.getNotasFromContratos(fornecedorOfGroup, _this.contratoSelecionado.id);
10774
- notasForm.push(notaForm);
10775
- },
10776
- reject: function () {
10777
- var fornecedor = _this.addFornecedor({ fornecedor: Pessoa.fromDto(value.fornecedor), origemMercadoria: PessoaEndereco.fromDto(value.origemMercadoria) });
10778
- var notasForm = _this.getNotasFromContratos(fornecedor, _this.contratoSelecionado.id);
10779
- notasForm.push(notaForm);
10780
- }
10781
- });
10782
- }
10783
10819
  else {
10784
10820
  var fornecedor = this.addFornecedor({ fornecedor: Pessoa.fromDto(value.fornecedor), origemMercadoria: PessoaEndereco.fromDto(value.origemMercadoria) });
10785
10821
  var notasForm = this.getNotasFromContratos(fornecedor, this.contratoSelecionado.id);
@@ -10823,59 +10859,6 @@
10823
10859
  this.fornecedorNotasTokens.splice(this.fornecedorNotasTokens.indexOf(token), 1);
10824
10860
  this.fornecedorNotas = this.fornecedorNotas.filter(function (fornecedorNota) { return fornecedorNota.chaveNotaFiscal !== token.id; });
10825
10861
  };
10826
- RecebimentoFormComponent.prototype.adicionarNovaNota = function (response) {
10827
- var _this = this;
10828
- var value = (response.documentos || []).length ? response.documentos[0] : undefined;
10829
- if (!value)
10830
- return;
10831
- var itemProduto = value.itens[0] || { produto: undefined, derivacao: undefined };
10832
- var produto = Produto.fromDto(itemProduto.produto);
10833
- if (!this.formGroup.get("produto").value && !!itemProduto.produto) {
10834
- this.formGroup.get("produto").setValue(produto);
10835
- this.formGroup.get("derivacao").setValue(Derivacao.fromDto(itemProduto.derivacao));
10836
- }
10837
- else if (!!itemProduto.produto && !this.validateProduto(produto)) {
10838
- this.addNotaError();
10839
- return;
10840
- }
10841
- var fornecedor = Pessoa.fromDto(value.fornecedor);
10842
- var origemMercadoria = PessoaEndereco.fromDto(value.origemMercadoria);
10843
- var fornecedorForm = this.getFornecedores().controls.find(function (_a) {
10844
- var value = _a.value;
10845
- return value.fornecedor.id === fornecedor.id;
10846
- });
10847
- var fornecedorOfGroup = this.validarCnpjFornecedor(fornecedor.cpfCnpj);
10848
- if (fornecedorOfGroup) {
10849
- this.confirmationService.confirm({
10850
- header: 'Fornecedor do mesmo grupo já cadastrado',
10851
- message: 'Um fornecedor do mesmo grupo parece já ter sido selecionado, deseja vincular a nota ao mesmo fornecedor?',
10852
- accept: function () {
10853
- _this.addFornecedorNotasToken(value);
10854
- },
10855
- reject: function () {
10856
- if (!fornecedorForm) {
10857
- _this.addFornecedor({ fornecedor: fornecedor, origemMercadoria: origemMercadoria });
10858
- }
10859
- _this.addFornecedorNotasToken(value);
10860
- }
10861
- });
10862
- }
10863
- else if (!fornecedorForm) {
10864
- this.addFornecedor({ fornecedor: fornecedor, origemMercadoria: origemMercadoria });
10865
- this.addFornecedorNotasToken(value);
10866
- }
10867
- };
10868
- RecebimentoFormComponent.prototype.addFornecedorNotasToken = function (value) {
10869
- this.fornecedorNotasTokens.push({ id: this.chaveNotaFiscal, label: value.numero });
10870
- this.fornecedorNotas.push({
10871
- chaveNotaFiscal: this.chaveNotaFiscal,
10872
- serieNotaFiscal: value.serie,
10873
- serieLegalNotaFiscal: value.serieLegal,
10874
- numeroNotaFiscal: value.numero,
10875
- });
10876
- this.chaveNotaFiscal = undefined;
10877
- this.loading = false;
10878
- };
10879
10862
  RecebimentoFormComponent.prototype.removeNotaError = function () {
10880
10863
  this.erroChaveNota = false;
10881
10864
  };
@@ -11170,6 +11153,17 @@
11170
11153
  var value = this.formGroup.getRawValue();
11171
11154
  value.agenda = this.agenda;
11172
11155
  var recebimentoDto = RecebimentoContrato.toDto(value);
11156
+ var fornecedores = recebimentoDto.fornecedores;
11157
+ recebimentoDto.fornecedores.forEach(function (anterior) {
11158
+ recebimentoDto.fornecedores.forEach(function (posterior) {
11159
+ if (anterior.fornecedor.id === posterior.fornecedor.id &&
11160
+ anterior.origemMercadoria.id === posterior.origemMercadoria.id) {
11161
+ posterior.contratos.forEach(function (contrato) { return anterior.contratos.push(contrato); });
11162
+ fornecedores = fornecedores.splice(fornecedores.indexOf(posterior), 1);
11163
+ }
11164
+ });
11165
+ });
11166
+ recebimentoDto.fornecedores = fornecedores;
11173
11167
  var observable;
11174
11168
  if (this.isNew() && !value.id) {
11175
11169
  observable = this.recebimentoService.insert(recebimentoDto);
@@ -11297,7 +11291,7 @@
11297
11291
  RecebimentoFormComponent = __decorate([
11298
11292
  core.Component({
11299
11293
  selector: 'recebimento-form',
11300
- template: "<p-confirmDialog [acceptLabel]=\"'yes' | translate\" acceptIcon=\"\" [rejectLabel]=\"'no' | translate\" rejectIcon=\"\"></p-confirmDialog>\n<div *sLoadingState=\"loading\">\n <form [formGroup]=\"formGroup\">\n <div class=\"ui-g ui-fluid\">\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"chaveNotaFiscal\">{{\"yms.erp.recebimento_chave_nota_fiscal\" | translate}}</label>\n <input [class.ng-invalid]=\"erroChaveNota\" [(ngModel)]=\"chaveNotaFiscal\" [ngModelOptions]=\"{ standalone: true }\" type=\"text\" id=\"chaveNotaFiscal\" name=\"chaveNotaFiscal\" pInputText autocomplete=\"off\" (blur)=\"onBlurChaveNotaFiscal()\"/>\n <span class=\"nota-error\" *ngIf=\"erroChaveNota\">{{'yms.erp.produto_nota_error_detail' | translate}}</span>\n </div>\n </div>\n <div class=\"ui-fluid\">\n <div class=\"ui-g\">\n <div [attr.data-hidden]=\"true\" class=\"ui-g-12 ui-md-6\">\n <label for=\"id\">{{\"yms.erp.recebimento_id\" | translate}}</label>\n <input #idFormInput type=\"text\" id=\"id\" name=\"id\" pInputText formControlName=\"id\" autocomplete=\"off\" />\n </div>\n <div class=\"ui-g-12 ui-md-6 required\">\n <label for=\"filial\">{{\"yms.erp.filial\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"filial\" name=\"filial\" formControlName=\"filial\"\n [searchFields]=\"filialSearchFields\" [searchGridFields]=\"filialSearchGridFields\"\n [searchGridData]=\"filialSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"filialLookupSuggestions\"\n (onLookupRequest)=\"onFilialLookupRequest($event)\"\n (onSearchRequest)=\"onFilialSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"filialSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.filial_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: filialSearchTotalRecords}\">\n </s-lookup>\n <s-control-errors [control]=\"formGroup.controls['filial']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\"></s-control-errors>\n </div>\n <div class=\"ui-g-12 ui-md-6 required\">\n <label for=\"produto\">{{\"yms.erp.recebimento_produto\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"produto\" name=\"produto\" formControlName=\"produto\"\n [searchFields]=\"produtoSearchFields\" [searchGridFields]=\"produtoSearchGridFields\"\n [searchGridData]=\"produtoSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"produtoLookupSuggestions\"\n (onLookupRequest)=\"onProdutoLookupRequest($event)\"\n (onSearchRequest)=\"onProdutoSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=produtoSearchTotalRecords\n [searchTitle]=\"'yms.erp.recebimento_produto_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: produtoSearchTotalRecords}\">\n </s-lookup>\n <s-control-errors [control]=\"formGroup.controls['produto']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\"></s-control-errors>\n </div>\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"derivacao\">{{\"yms.erp.recebimento_derivacao\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"derivacao\" name=\"derivacao\" formControlName=\"derivacao\"\n [searchFields]=\"derivacaoSearchFields\" [searchGridFields]=\"derivacaoSearchGridFields\"\n [searchGridData]=\"derivacaoSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"derivacaoLookupSuggestions\"\n (onLookupRequest)=\"onDerivacaoLookupRequest($event)\"\n (onSearchRequest)=\"onDerivacaoSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=derivacaoSearchTotalRecords\n [searchTitle]=\"'yms.erp.recebimento_derivacao_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: derivacaoSearchTotalRecords}\">\n </s-lookup>\n </div>\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"transportadora\">{{\"yms.erp.recebimento_transportadora\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"transportadora\" name=\"transportadora\" formControlName=\"transportadora\"\n [searchFields]=\"transportadoraSearchFields\" [searchGridFields]=\"transportadoraSearchGridFields\"\n [searchGridData]=\"transportadoraSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"transportadoraLookupSuggestions\"\n (onLookupRequest)=\"onTransportadoraLookupRequest($event)\"\n (onSearchRequest)=\"onTransportadoraSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"transportadoraSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.transportadora_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: transportadoraSearchTotalRecords}\">\n </s-lookup>\n </div>\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"transgenia\">{{\"yms.erp.recebimento_transgenia\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"transgenia\" name=\"transgenia\"\n formControlName=\"transgenia\" [searchFields]=\"transgeniaSearchFields\"\n [searchGridFields]=\"transgeniaSearchGridFields\"\n [searchGridData]=\"transgeniaSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"transgeniaLookupSuggestions\"\n (onLookupRequest)=\"onTransgeniaLookupRequest($event)\"\n (onSearchRequest)=\"onTransgeniaSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"transgeniaSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.recebimento_transgenia_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: transgeniaSearchTotalRecords}\">\n </s-lookup>\n </div>\n\n <div class=\"ui-md-12\">\n <s-button styleClass=\"btn-erp-forms\" *ngIf=\"showButtons() && !!formGroup.get('filial').value && !createdByErp\" iconClass=\"fas fa-plus\" label=\"Adicionar fornecedor\" priority=\"secondary\" (onClick)=\"addFornecedor()\"></s-button>\n <span style=\"display: block;\" class=\"input-error\" *ngIf=\"erroFornecedores\">{{'Selecione ao menos um fornecedor para continuar' | translate}}</span>\n </div>\n\n <form class=\"ui-g-12\" *ngFor=\"let fornecedorForm of getFornecedores().controls; let i = index;\" [formGroup]=\"fornecedorForm\">\n <p-panel [style]=\"{position: 'relative'}\" styleClass=\"form-group ui-g-12 ui-md-12\" [toggleable]=\"true\" >\n\n <p-header>\n Fornecedor {{+i+1}}\n <s-button \n style=\"display: inline-block; position: absolute; right: 50px; top: 10px\" \n *ngIf=\"showButtons() && !createdByErp\"\n iconClass=\"fas fa-trash\"\n label=\"Remover\"\n priority=\"default\"\n [auxiliary]=\"true\"\n (onClick)=\"removeFornecedor(fornecedorForm)\"\n >\n </s-button>\n </p-header>\n <div class=\"ui-g-12 ui-md-6 required\">\n <label for=\"fornecedor\">{{\"yms.erp.recebimento_fornecedor\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"fornecedor\" name=\"fornecedor\" formControlName=\"fornecedor\"\n [searchFields]=\"fornecedorSearchFields\" [searchGridFields]=\"fornecedorSearchGridFields\"\n [searchGridData]=\"fornecedorSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"fornecedorLookupSuggestions\"\n (onLookupRequest)=\"onFornecedorLookupRequest($event)\"\n (onSearchRequest)=\"onFornecedorSearchRequest($event)\" \n lookupDisplayField=\"label\"\n [searchTotalRecords]=fornecedorSearchTotalRecords\n [searchTitle]=\"'yms.erp.recebimento_fornecedor_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: fornecedorSearchTotalRecords}\">\n </s-lookup>\n <s-control-errors [control]=\"fornecedorForm.get('fornecedor')\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\"></s-control-errors>\n </div>\n <div class=\"ui-g-12 ui-md-6 required\">\n <label for=\"origemMercadoria\">{{\"yms.erp.recebimento_origem_mercadoria\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"origemMercadoria\" name=\"origemMercadoria\"\n formControlName=\"origemMercadoria\" [searchFields]=\"origemMercadoriaSearchFields\"\n [searchGridFields]=\"origemMercadoriaSearchGridFields\"\n [searchGridData]=\"origemMercadoriaSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"origemMercadoriaLookupSuggestions\"\n (onLookupRequest)=\"onOrigemMercadoriaLookupRequest($event, fornecedorForm)\"\n (onSearchRequest)=\"onOrigemMercadoriaSearchRequest($event, fornecedorForm)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"origemMercadoriaSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.recebimento_pessoa_endereco_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: origemMercadoriaSearchTotalRecords}\">\n </s-lookup>\n <s-control-errors [control]=\"fornecedorForm.get('origemMercadoria')\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\"></s-control-errors>\n </div>\n\n <div class=\"ui-g-12\">\n <label for=\"fornecedorNotas\">Notas a serem adicionadas</label>\n <s-token-list id=\"fornecedorNotas\" [tokens]=\"fornecedorNotasTokens\" (tokenSelected)=\"addFornecedorNotasTokenEmContrato(fornecedorForm, $event)\" (tokenRemoved)=\"removeFornecedorNotasTokenDoContrato($event)\" [removableTokens]=\"true\"></s-token-list>\n </div>\n\n <div class=\"ui-g-12\">\n <s-button label=\"Adicionar nota\" *ngIf=\"showButtons()\" styleClass=\"btn-erp-forms\" priority=\"secondary\" (onClick)=\"addNota(fornecedorForm)\" [disabled]=\"disableAdicionarNota()\"></s-button>\n <s-button label=\"Adicionar contrato\" *ngIf=\"showButtons() && !createdByErp\" styleClass=\"btn-erp-forms\" priority=\"secondary\" (onClick)=\"addContrato(fornecedorForm)\"></s-button>\n </div>\n\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"tipoNotaFiscal\">{{\"yms.erp.recebimento_tipo_nota_fiscal\" | translate}}</label>\n <p-dropdown inputId=\"tipoNotaFiscal\" name=\"tipoNotaFiscal\" [options]=\"tiposNota\" formControlName=\"tipoNotaFiscal\">\n </p-dropdown>\n </div>\n\n <div class=\"ui-g-12\">\n <h4>Contratos</h4>\n <p-table [value]=\"getContratos(fornecedorForm).controls\" [(selection)]=\"contratoSelecionado\">\n <ng-template pTemplate=\"body\" let-rowData>\n <tr [pSelectableRow]=\"rowData\">\n <td style=\"width: 50px\">\n <p-tableRadioButton [value]=\"rowData.get('contrato').value\"></p-tableRadioButton>\n </td>\n <td>\n <p-accordion>\n <p-accordionTab>\n <p-header>\n Contrato {{rowData.get('contrato').value.numero}}, Filial {{rowData.get('contrato').value.filial?.codigo}}\n\n <span *ngIf=\"showButtons() && !createdByErp\" style=\"margin-left: 10px; float: right;\" class=\"fas fa-trash\" (click)=\"removerContrato(fornecedorForm, rowData)\"></span>\n </p-header>\n \n <div class=\"detail-pane\" *ngFor=\"let item of getItensContrato(rowData).controls\">\n <div class=\"detail-span\">\n <span class=\"title\">Sequ\u00EAncia</span>\n <span class=\"data\">{{item.value?.item.sequencia}}</span>\n </div>\n </div>\n \n <div class=\"detail-pane\">\n <div class=\"detail-span\">\n <span class=\"title\">Notas</span>\n <span class=\"data\">\n <p-accordion>\n <p-accordionTab *ngFor=\"let nota of getNotas(rowData).controls\">\n <p-header>\n {{nota.get('chaveNotaFiscal').value || (nota.get('serieNotaFiscal').value + ' - ' + nota.get('numeroNotaFiscal').value)}}\n\n <span *ngIf=\"showButtons()\" style=\"margin-left: 10px; float: right;\" class=\"fas fa-trash\" (click)=\"removerNota(fornecedorForm, rowData, nota)\"></span>\n </p-header>\n \n <div class=\"detail-pane\">\n <div class=\"detail-span\">\n <span class=\"title\">S\u00E9rie nota fiscal</span>\n <span class=\"data\">{{nota.value?.serieNotaFiscal}}</span>\n </div>\n <div class=\"detail-span\">\n <span class=\"title\">S\u00E9rie legal nota fiscal</span>\n <span class=\"data\">{{nota.value?.serieLegalNotaFiscal}}</span>\n </div>\n <div class=\"detail-span\">\n <span class=\"title\">N\u00FAmero nota fiscal</span>\n <span class=\"data\">{{nota.value?.numeroNotaFiscal}}</span>\n </div>\n </div>\n \n </p-accordionTab> \n </p-accordion>\n </span>\n </div>\n </div>\n </p-accordionTab>\n </p-accordion>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n\n </p-panel>\n\n <div class=\"ui-g-12\" style=\"text-align: right;\" *ngIf=\"totalEixosContratados || totalEixosComposicao\">\n <label for=\"totalEixosContratados\" float=\"right\" style=\"display: inline;\">{{totalEixosContratados}} {{'yms.erp.total_eixos_contratados' | translate}} / </label>\n <label for=\"totalEixosComposicao\" float=\"right\" style=\"display: inline;\">{{totalEixosComposicao}} {{'yms.erp.total_eixos_composicao' | translate}}</label>\n </div>\n </form>\n\n </div>\n </div>\n </form>\n\n <div style=\"margin: 5px 0 5px 0;\">\n <s-button *ngIf=\"showButtons()\" priority=\"primary\" [label]=\"'save' | translate\" (onClick)=\"onSave()\" [disabled]=\"disableButtonSave\"></s-button>\n <s-button *ngIf=\"saveAndInitButton && showButtons()\" priority=\"primary\" [label]=\"'save_and_init' | translate\" (onClick)=\"onSave(true)\" [disabled]=\"disableButtonSave\"></s-button>\n </div>\n</div>",
11294
+ template: "<p-confirmDialog [acceptLabel]=\"'yes' | translate\" acceptIcon=\"\" [rejectLabel]=\"'no' | translate\" rejectIcon=\"\"></p-confirmDialog>\n<div *sLoadingState=\"loading\">\n <form [formGroup]=\"formGroup\">\n <div class=\"ui-g ui-fluid\">\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"chaveNotaFiscal\">{{\"yms.erp.recebimento_chave_nota_fiscal\" | translate}}</label>\n <input [class.ng-invalid]=\"erroChaveNota\" [(ngModel)]=\"chaveNotaFiscal\" [ngModelOptions]=\"{ standalone: true }\" type=\"text\" id=\"chaveNotaFiscal\" name=\"chaveNotaFiscal\" pInputText autocomplete=\"off\" (blur)=\"onBlurChaveNotaFiscal()\"/>\n <span class=\"nota-error\" *ngIf=\"erroChaveNota\">{{'yms.erp.produto_nota_error_detail' | translate}}</span>\n </div>\n </div>\n <div class=\"ui-fluid\">\n <div class=\"ui-g\">\n <div [attr.data-hidden]=\"true\" class=\"ui-g-12 ui-md-6\">\n <label for=\"id\">{{\"yms.erp.recebimento_id\" | translate}}</label>\n <input #idFormInput type=\"text\" id=\"id\" name=\"id\" pInputText formControlName=\"id\" autocomplete=\"off\" />\n </div>\n <div class=\"ui-g-12 ui-md-6 required\">\n <label for=\"filial\">{{\"yms.erp.filial\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"filial\" name=\"filial\" formControlName=\"filial\"\n [searchFields]=\"filialSearchFields\" [searchGridFields]=\"filialSearchGridFields\"\n [searchGridData]=\"filialSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"filialLookupSuggestions\"\n (onLookupRequest)=\"onFilialLookupRequest($event)\"\n (onSearchRequest)=\"onFilialSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"filialSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.filial_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: filialSearchTotalRecords}\">\n </s-lookup>\n <s-control-errors [control]=\"formGroup.controls['filial']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\"></s-control-errors>\n </div>\n <div class=\"ui-g-12 ui-md-6 required\">\n <label for=\"produto\">{{\"yms.erp.recebimento_produto\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"produto\" name=\"produto\" formControlName=\"produto\"\n [searchFields]=\"produtoSearchFields\" [searchGridFields]=\"produtoSearchGridFields\"\n [searchGridData]=\"produtoSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"produtoLookupSuggestions\"\n (onLookupRequest)=\"onProdutoLookupRequest($event)\"\n (onSearchRequest)=\"onProdutoSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=produtoSearchTotalRecords\n [searchTitle]=\"'yms.erp.recebimento_produto_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: produtoSearchTotalRecords}\">\n </s-lookup>\n <s-control-errors [control]=\"formGroup.controls['produto']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\"></s-control-errors>\n </div>\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"derivacao\">{{\"yms.erp.recebimento_derivacao\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"derivacao\" name=\"derivacao\" formControlName=\"derivacao\"\n [searchFields]=\"derivacaoSearchFields\" [searchGridFields]=\"derivacaoSearchGridFields\"\n [searchGridData]=\"derivacaoSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"derivacaoLookupSuggestions\"\n (onLookupRequest)=\"onDerivacaoLookupRequest($event)\"\n (onSearchRequest)=\"onDerivacaoSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=derivacaoSearchTotalRecords\n [searchTitle]=\"'yms.erp.recebimento_derivacao_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: derivacaoSearchTotalRecords}\">\n </s-lookup>\n </div>\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"transportadora\">{{\"yms.erp.recebimento_transportadora\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"transportadora\" name=\"transportadora\" formControlName=\"transportadora\"\n [searchFields]=\"transportadoraSearchFields\" [searchGridFields]=\"transportadoraSearchGridFields\"\n [searchGridData]=\"transportadoraSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"transportadoraLookupSuggestions\"\n (onLookupRequest)=\"onTransportadoraLookupRequest($event)\"\n (onSearchRequest)=\"onTransportadoraSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"transportadoraSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.transportadora_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: transportadoraSearchTotalRecords}\">\n </s-lookup>\n </div>\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"transgenia\">{{\"yms.erp.recebimento_transgenia\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"transgenia\" name=\"transgenia\"\n formControlName=\"transgenia\" [searchFields]=\"transgeniaSearchFields\"\n [searchGridFields]=\"transgeniaSearchGridFields\"\n [searchGridData]=\"transgeniaSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"transgeniaLookupSuggestions\"\n (onLookupRequest)=\"onTransgeniaLookupRequest($event)\"\n (onSearchRequest)=\"onTransgeniaSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"transgeniaSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.recebimento_transgenia_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: transgeniaSearchTotalRecords}\">\n </s-lookup>\n </div>\n\n <div class=\"ui-md-12\">\n <s-button styleClass=\"btn-erp-forms\" *ngIf=\"showButtons() && !!formGroup.get('filial').value && !createdByErp\" iconClass=\"fas fa-plus\" label=\"Adicionar fornecedor\" priority=\"secondary\" (onClick)=\"addFornecedor()\"></s-button>\n <span style=\"display: block;\" class=\"input-error\" *ngIf=\"erroFornecedores\">{{'Selecione ao menos um fornecedor para continuar' | translate}}</span>\n </div>\n\n <form class=\"ui-g-12\" *ngFor=\"let fornecedorForm of getFornecedoresForm().controls; let i = index;\" [formGroup]=\"fornecedorForm\">\n <p-panel [style]=\"{position: 'relative'}\" styleClass=\"form-group ui-g-12 ui-md-12\" [toggleable]=\"true\" >\n\n <p-header>\n Fornecedor {{+i+1}}\n <s-button \n style=\"display: inline-block; position: absolute; right: 50px; top: 10px\" \n *ngIf=\"showButtons() && !createdByErp\"\n iconClass=\"fas fa-trash\"\n label=\"Remover\"\n priority=\"default\"\n [auxiliary]=\"true\"\n (onClick)=\"removeFornecedor(fornecedorForm)\"\n >\n </s-button>\n </p-header>\n <div class=\"ui-g-12 ui-md-6 required\">\n <label for=\"fornecedor\">{{\"yms.erp.recebimento_fornecedor\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"fornecedor\" name=\"fornecedor\" formControlName=\"fornecedor\"\n [searchFields]=\"fornecedorSearchFields\" [searchGridFields]=\"fornecedorSearchGridFields\"\n [searchGridData]=\"fornecedorSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"fornecedorLookupSuggestions\"\n (onLookupRequest)=\"onFornecedorLookupRequest($event)\"\n (onSearchRequest)=\"onFornecedorSearchRequest($event)\" \n lookupDisplayField=\"label\"\n [searchTotalRecords]=fornecedorSearchTotalRecords\n [searchTitle]=\"'yms.erp.recebimento_fornecedor_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: fornecedorSearchTotalRecords}\">\n </s-lookup>\n <s-control-errors [control]=\"fornecedorForm.get('fornecedor')\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\"></s-control-errors>\n </div>\n <div class=\"ui-g-12 ui-md-6 required\">\n <label for=\"origemMercadoria\">{{\"yms.erp.recebimento_origem_mercadoria\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"origemMercadoria\" name=\"origemMercadoria\"\n formControlName=\"origemMercadoria\" [searchFields]=\"origemMercadoriaSearchFields\"\n [searchGridFields]=\"origemMercadoriaSearchGridFields\"\n [searchGridData]=\"origemMercadoriaSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"origemMercadoriaLookupSuggestions\"\n (onLookupRequest)=\"onOrigemMercadoriaLookupRequest($event, fornecedorForm)\"\n (onSearchRequest)=\"onOrigemMercadoriaSearchRequest($event, fornecedorForm)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"origemMercadoriaSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.recebimento_pessoa_endereco_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: origemMercadoriaSearchTotalRecords}\">\n </s-lookup>\n <s-control-errors [control]=\"fornecedorForm.get('origemMercadoria')\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\"></s-control-errors>\n </div>\n\n <div class=\"ui-g-12\">\n <label for=\"fornecedorNotas\">Notas a serem adicionadas</label>\n <s-token-list id=\"fornecedorNotas\" [tokens]=\"fornecedorNotasTokens\" (tokenSelected)=\"addFornecedorNotasTokenEmContrato(fornecedorForm, $event)\" (tokenRemoved)=\"removeFornecedorNotasTokenDoContrato($event)\" [removableTokens]=\"true\"></s-token-list>\n </div>\n\n <div class=\"ui-g-12\">\n <s-button label=\"Adicionar nota\" *ngIf=\"showButtons()\" styleClass=\"btn-erp-forms\" priority=\"secondary\" (onClick)=\"addNota(fornecedorForm)\" [disabled]=\"disableAdicionarNota()\"></s-button>\n <s-button label=\"Adicionar contrato\" *ngIf=\"showButtons() && !createdByErp\" styleClass=\"btn-erp-forms\" priority=\"secondary\" (onClick)=\"addContrato(fornecedorForm)\"></s-button>\n </div>\n\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"tipoNotaFiscal\">{{\"yms.erp.recebimento_tipo_nota_fiscal\" | translate}}</label>\n <p-dropdown inputId=\"tipoNotaFiscal\" name=\"tipoNotaFiscal\" [options]=\"tiposNota\" formControlName=\"tipoNotaFiscal\">\n </p-dropdown>\n </div>\n\n <div class=\"ui-g-12\">\n <h4>Contratos</h4>\n <p-table [value]=\"getContratos(fornecedorForm).controls\" [(selection)]=\"contratoSelecionado\">\n <ng-template pTemplate=\"body\" let-rowData>\n <tr [pSelectableRow]=\"rowData\">\n <td style=\"width: 50px\">\n <p-tableRadioButton [value]=\"rowData.get('contrato').value\"></p-tableRadioButton>\n </td>\n <td>\n <p-accordion>\n <p-accordionTab>\n <p-header>\n Contrato {{rowData.get('contrato').value.numero}}, Filial {{rowData.get('contrato').value.filial?.codigo}}\n\n <span *ngIf=\"showButtons() && !createdByErp\" style=\"margin-left: 10px; float: right;\" class=\"fas fa-trash\" (click)=\"removerContrato(fornecedorForm, rowData)\"></span>\n </p-header>\n \n <div class=\"detail-pane\" *ngFor=\"let item of getItensContrato(rowData).controls\">\n <div class=\"detail-span\">\n <span class=\"title\">Sequ\u00EAncia</span>\n <span class=\"data\">{{item.value?.item.sequencia}}</span>\n </div>\n </div>\n \n <div class=\"detail-pane\">\n <div class=\"detail-span\">\n <span class=\"title\">Notas</span>\n <span class=\"data\">\n <p-accordion>\n <p-accordionTab *ngFor=\"let nota of getNotas(rowData).controls\">\n <p-header>\n {{nota.get('chaveNotaFiscal').value || (nota.get('serieNotaFiscal').value + ' - ' + nota.get('numeroNotaFiscal').value)}}\n\n <span *ngIf=\"showButtons()\" style=\"margin-left: 10px; float: right;\" class=\"fas fa-trash\" (click)=\"removerNota(fornecedorForm, rowData, nota)\"></span>\n </p-header>\n \n <div class=\"detail-pane\">\n <div class=\"detail-span\">\n <span class=\"title\">S\u00E9rie nota fiscal</span>\n <span class=\"data\">{{nota.value?.serieNotaFiscal}}</span>\n </div>\n <div class=\"detail-span\">\n <span class=\"title\">S\u00E9rie legal nota fiscal</span>\n <span class=\"data\">{{nota.value?.serieLegalNotaFiscal}}</span>\n </div>\n <div class=\"detail-span\">\n <span class=\"title\">N\u00FAmero nota fiscal</span>\n <span class=\"data\">{{nota.value?.numeroNotaFiscal}}</span>\n </div>\n </div>\n \n </p-accordionTab> \n </p-accordion>\n </span>\n </div>\n </div>\n </p-accordionTab>\n </p-accordion>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n\n </p-panel>\n\n <div class=\"ui-g-12\" style=\"text-align: right;\" *ngIf=\"totalEixosContratados || totalEixosComposicao\">\n <label for=\"totalEixosContratados\" float=\"right\" style=\"display: inline;\">{{totalEixosContratados}} {{'yms.erp.total_eixos_contratados' | translate}} / </label>\n <label for=\"totalEixosComposicao\" float=\"right\" style=\"display: inline;\">{{totalEixosComposicao}} {{'yms.erp.total_eixos_composicao' | translate}}</label>\n </div>\n </form>\n\n </div>\n </div>\n </form>\n\n <div style=\"margin: 5px 0 5px 0;\">\n <s-button *ngIf=\"showButtons()\" priority=\"primary\" [label]=\"'save' | translate\" (onClick)=\"onSave()\" [disabled]=\"disableButtonSave\"></s-button>\n <s-button *ngIf=\"saveAndInitButton && showButtons()\" priority=\"primary\" [label]=\"'save_and_init' | translate\" (onClick)=\"onSave(true)\" [disabled]=\"disableButtonSave\"></s-button>\n </div>\n</div>",
11301
11295
  providers: [
11302
11296
  api.ConfirmationService,
11303
11297
  ],