@seniorsistemas/yms-integration 1.3.2 → 1.4.0

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.
Files changed (35) hide show
  1. package/bundles/seniorsistemas-yms-integration.umd.js +411 -189
  2. package/bundles/seniorsistemas-yms-integration.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-yms-integration.umd.min.js +1 -1
  4. package/bundles/seniorsistemas-yms-integration.umd.min.js.map +1 -1
  5. package/esm2015/src/erp-senior/core/entities/expedicao/expedicao.js +1 -1
  6. package/esm2015/src/erp-senior/core/entities/recebimento-contrato/recebimento.js +9 -1
  7. package/esm2015/src/erp-senior/devolucao/form/devolucao-form.component.js +80 -25
  8. package/esm2015/src/erp-senior/expedicao/form/expedicao-form.component.js +73 -131
  9. package/esm2015/src/erp-senior/processo-avulso/form/processo-avulso-form.component.js +77 -20
  10. package/esm2015/src/erp-senior/recebimento/form/recebimento-form.component.js +63 -10
  11. package/esm2015/src/erp-senior/recebimento-ordem-compra/form/recebimento-ordem-compra-form.component.js +59 -12
  12. package/esm2015/src/utils/field-customization.service.js +1 -11
  13. package/esm2015/src/utils/form-intact-checker.js +40 -0
  14. package/esm5/src/erp-senior/core/entities/expedicao/expedicao.js +1 -1
  15. package/esm5/src/erp-senior/core/entities/recebimento-contrato/recebimento.js +9 -1
  16. package/esm5/src/erp-senior/devolucao/form/devolucao-form.component.js +82 -25
  17. package/esm5/src/erp-senior/expedicao/form/expedicao-form.component.js +75 -131
  18. package/esm5/src/erp-senior/processo-avulso/form/processo-avulso-form.component.js +80 -20
  19. package/esm5/src/erp-senior/recebimento/form/recebimento-form.component.js +65 -10
  20. package/esm5/src/erp-senior/recebimento-ordem-compra/form/recebimento-ordem-compra-form.component.js +61 -12
  21. package/esm5/src/utils/field-customization.service.js +1 -11
  22. package/esm5/src/utils/form-intact-checker.js +43 -0
  23. package/fesm2015/seniorsistemas-yms-integration.js +397 -191
  24. package/fesm2015/seniorsistemas-yms-integration.js.map +1 -1
  25. package/fesm5/seniorsistemas-yms-integration.js +413 -191
  26. package/fesm5/seniorsistemas-yms-integration.js.map +1 -1
  27. package/package.json +1 -1
  28. package/seniorsistemas-yms-integration.metadata.json +1 -1
  29. package/src/erp-senior/core/entities/recebimento-contrato/recebimento.d.ts +2 -0
  30. package/src/erp-senior/devolucao/form/devolucao-form.component.d.ts +13 -3
  31. package/src/erp-senior/expedicao/form/expedicao-form.component.d.ts +9 -1
  32. package/src/erp-senior/processo-avulso/form/processo-avulso-form.component.d.ts +14 -4
  33. package/src/erp-senior/recebimento/form/recebimento-form.component.d.ts +8 -2
  34. package/src/erp-senior/recebimento-ordem-compra/form/recebimento-ordem-compra-form.component.d.ts +10 -4
  35. package/src/utils/form-intact-checker.d.ts +10 -0
@@ -1568,21 +1568,13 @@
1568
1568
  return InfoComponent;
1569
1569
  }(InfoDescritor));
1570
1570
 
1571
- /*{CA:PACKAGE_IMPORTS:START}*/
1572
- /*{CA:PACKAGE_IMPORTS:END}*/
1573
- /*{CA:PROJECT_IMPORTS:START}*/
1574
- /*{CA:PROJECT_IMPORTS:END}*/
1575
1571
  var FieldCustomizationService = /** @class */ (function () {
1576
- /*{CA:CLASS_ATTRIBUTES:START}*/
1577
- /*{CA:CLASS_ATTRIBUTES:END}*/
1578
1572
  function FieldCustomizationService(http, messageService) {
1579
1573
  this.http = http;
1580
1574
  this.messageService = messageService;
1581
1575
  this.http = http;
1582
1576
  this.messageService = messageService;
1583
1577
  this.defaultCatch = this.defaultCatch.bind(this);
1584
- /*{CA:CONSTRUCTOR_END:START}*/
1585
- /*{CA:CONSTRUCTOR_END:END}*/
1586
1578
  }
1587
1579
  FieldCustomizationService.prototype.commitFiles = function (objects) {
1588
1580
  return this.http.post("platform/field_customization/actions/commitObject", { objects: objects }).pipe(this.defaultCatch());
@@ -1656,8 +1648,6 @@
1656
1648
  ], FieldCustomizationService);
1657
1649
  return FieldCustomizationService;
1658
1650
  }());
1659
- /*{CA:FILE_CONTENTS:START}*/
1660
- /*{CA:FILE_CONTENTS:END}*/
1661
1651
 
1662
1652
  var OrdemCompraService = /** @class */ (function (_super) {
1663
1653
  __extends(OrdemCompraService, _super);
@@ -4604,9 +4594,61 @@
4604
4594
  /*{CA:FILE_CONTENTS:START}*/
4605
4595
  /*{CA:FILE_CONTENTS:END}*/
4606
4596
 
4597
+ var StatusAgenda;
4598
+ (function (StatusAgenda) {
4599
+ StatusAgenda["AGUARDANDO_CONFIRMACAO"] = "AGUARDANDO_CONFIRMACAO_SOLICITANTE";
4600
+ StatusAgenda["AGENDADO"] = "AGENDADO";
4601
+ StatusAgenda["AGUARDANDO_CONFIRMACAO_SOLICITANTE"] = "AGUARDANDO_CONFIRMACAO";
4602
+ StatusAgenda["REJEITADO_POR_VALIDACAO"] = "REJEITADO_POR_VALIDACAO";
4603
+ StatusAgenda["CANCELADO"] = "CANCELADO";
4604
+ })(StatusAgenda || (StatusAgenda = {}));
4605
+
4606
+ var FormIntactChecker = /** @class */ (function () {
4607
+ function FormIntactChecker(_form, _replaySubject) {
4608
+ var _this = this;
4609
+ this._form = _form;
4610
+ this._replaySubject = _replaySubject;
4611
+ this._form.statusChanges.subscribe(function (change) {
4612
+ if (!_this._form.dirty) {
4613
+ _this._originalValue = JSON.stringify(_this._form.value);
4614
+ }
4615
+ });
4616
+ this._form.valueChanges.subscribe(function (changedValue) {
4617
+ var current_value = JSON.stringify(_this._form.value);
4618
+ if (_this._originalValue != current_value) {
4619
+ if (_this._replaySubject && (_this._lastNotify == null || _this._lastNotify)) {
4620
+ _this._replaySubject.next(false);
4621
+ _this._lastNotify = false;
4622
+ }
4623
+ }
4624
+ else {
4625
+ if (_this._replaySubject) {
4626
+ _this._replaySubject.next(true);
4627
+ }
4628
+ else {
4629
+ _this._form.markAsPristine();
4630
+ }
4631
+ _this._lastNotify = true;
4632
+ }
4633
+ });
4634
+ }
4635
+ FormIntactChecker.prototype.markIntact = function () {
4636
+ this._originalValue = JSON.stringify(this._form.value);
4637
+ if (this._replaySubject) {
4638
+ this._replaySubject.next(true);
4639
+ }
4640
+ else {
4641
+ this._form.markAsPristine();
4642
+ }
4643
+ this._lastNotify = true;
4644
+ };
4645
+ return FormIntactChecker;
4646
+ }());
4647
+
4607
4648
  var DevolucaoFormComponent = /** @class */ (function () {
4608
- function DevolucaoFormComponent(fb, translate, filialService, pessoaService, produtoService, derivacaoService, origemMercadoriaService, transportadoraService, devolucaoService, messageService, route, override) {
4649
+ function DevolucaoFormComponent(fb, router, translate, filialService, pessoaService, produtoService, derivacaoService, origemMercadoriaService, transportadoraService, devolucaoService, messageService, route, override, confirmationService, agendaService) {
4609
4650
  this.fb = fb;
4651
+ this.router = router;
4610
4652
  this.translate = translate;
4611
4653
  this.filialService = filialService;
4612
4654
  this.pessoaService = pessoaService;
@@ -4618,6 +4660,8 @@
4618
4660
  this.messageService = messageService;
4619
4661
  this.route = route;
4620
4662
  this.override = override;
4663
+ this.confirmationService = confirmationService;
4664
+ this.agendaService = agendaService;
4621
4665
  this.filialLookupDisplayFields = ["codigo", "nome", "empresa.nome"];
4622
4666
  this.filialAdvancedDisplayFields = ["id", "codigo", "nome", "empresa.nome"];
4623
4667
  this.filialLookupSeparator = " - ";
@@ -4640,6 +4684,7 @@
4640
4684
  this.totalEixosContratados = 0;
4641
4685
  this.totalEixosComposicao = 0;
4642
4686
  this.ngUnsubscribe = new rxjs.Subject();
4687
+ this.isFormModified = false;
4643
4688
  this.formGroup = this.getFormGroup();
4644
4689
  }
4645
4690
  DevolucaoFormComponent.prototype.ngOnDestroy = function () {
@@ -4683,6 +4728,9 @@
4683
4728
  this.disableButtonSave = true;
4684
4729
  }
4685
4730
  this.createdByErpDisableForm();
4731
+ var rs = new rxjs.ReplaySubject();
4732
+ rs.subscribe(function (isIntact) { return (_this.isFormModified = !isIntact); });
4733
+ this.formIntactChecker = new FormIntactChecker(this.formGroup, rs);
4686
4734
  };
4687
4735
  DevolucaoFormComponent.prototype.createdByErpDisableForm = function () {
4688
4736
  if (this.agenda && this.agenda.createdByErp) {
@@ -4700,7 +4748,8 @@
4700
4748
  var planta = this.agenda.planta || { cnpj: [] };
4701
4749
  if (planta.cnpj.length !== 1)
4702
4750
  return;
4703
- this.filialService.list({
4751
+ this.filialService
4752
+ .list({
4704
4753
  page: 0,
4705
4754
  size: 1,
4706
4755
  filterQuery: "pessoa.cpfCnpj eq '" + planta.cnpj[0] + "'",
@@ -4774,17 +4823,10 @@
4774
4823
  }
4775
4824
  });
4776
4825
  };
4777
- // private changeFormGroupValue(isAny: any, formControl: string) {
4778
- // if (!isAny) {
4779
- // this.formGroup.get(formControl).setValue(undefined);
4780
- // this.formGroup.get(formControl).disable();
4781
- // return;
4782
- // }
4783
- // this.formGroup.get(formControl).enable();
4784
- // }
4785
4826
  DevolucaoFormComponent.prototype.getDevolucao = function (agendaId) {
4786
4827
  var _this = this;
4787
- this.devolucaoService.list({
4828
+ this.devolucaoService
4829
+ .list({
4788
4830
  filterQuery: "agenda.id eq '" + agendaId + "'",
4789
4831
  size: 1,
4790
4832
  page: 0
@@ -4792,8 +4834,9 @@
4792
4834
  .pipe(operators.takeUntil(this.ngUnsubscribe))
4793
4835
  .subscribe(function (_a) {
4794
4836
  var contents = _a.contents;
4795
- if (!contents.length)
4837
+ if (!contents.length) {
4796
4838
  return;
4839
+ }
4797
4840
  _this.totalEixosContratados = contents[0].eixos || 0;
4798
4841
  _this.totalEixosComposicao = contents[0].agenda && contents[0].agenda.veiculo
4799
4842
  ? contents[0].agenda.veiculo.eixos || 0 : 0;
@@ -4871,7 +4914,8 @@
4871
4914
  var _this = this;
4872
4915
  var filial = this.formGroup.get("filial").value;
4873
4916
  var tipoAgendamento = this.agenda.tipoAgendamento;
4874
- this.produtoService.listProdutos({
4917
+ this.produtoService
4918
+ .listProdutos({
4875
4919
  pesquisa: value,
4876
4920
  empresaId: !!filial ? filial.empresa.id : null,
4877
4921
  filialId: !!filial ? filial.id : null,
@@ -4991,14 +5035,62 @@
4991
5035
  DevolucaoFormComponent.prototype.onSave = function (start) {
4992
5036
  var _this = this;
4993
5037
  this.formGroup.get('agenda').setValue(this.agenda);
4994
- if (this.formGroup.invalid)
4995
- return this.validateAllFormFields(this.formGroup);
5038
+ if (this.formGroup.invalid) {
5039
+ this.validateAllFormFields(this.formGroup);
5040
+ }
4996
5041
  this.loading = true;
4997
- this.getSaveObservable().pipe(operators.takeUntil(this.ngUnsubscribe), operators.finalize(function () { return _this.loading = false; })).subscribe(function (value) {
5042
+ if (this.isFormModified) {
5043
+ this.agendaService
5044
+ .retornaModelosValidacao(this.agenda.tipoAgendamento.id)
5045
+ .pipe(operators.takeUntil(this.ngUnsubscribe))
5046
+ .subscribe(function (response) {
5047
+ if (response.tiposModeloValidacao.length > 0) {
5048
+ _this.atualizaAgendaParaRejeitadoPorValidacao();
5049
+ }
5050
+ else {
5051
+ _this.saveAndInit(start);
5052
+ }
5053
+ });
5054
+ }
5055
+ else {
5056
+ this.saveAndInit(start);
5057
+ }
5058
+ };
5059
+ DevolucaoFormComponent.prototype.atualizaAgendaParaRejeitadoPorValidacao = function () {
5060
+ var _this = this;
5061
+ this.confirmationService.confirm({
5062
+ header: this.translate.instant("yms.patio.agenda_revalidacao_title"),
5063
+ message: this.translate.instant("yms.patio.agenda_revalidacao_message"),
5064
+ accept: function () {
5065
+ _this.agenda.status = StatusAgenda.REJEITADO_POR_VALIDACAO;
5066
+ _this.agendaService
5067
+ .atualizarAgenda(_this.agenda)
5068
+ .pipe(operators.takeUntil(_this.ngUnsubscribe), operators.concatMap(function (_) { return _this.getSaveObservable(); }), operators.finalize(function () { return _this.loading = false; }))
5069
+ .subscribe(function (_) {
5070
+ _this.successMessage();
5071
+ _this.router.navigate(["/chegada-veiculo"], { relativeTo: _this.route });
5072
+ });
5073
+ },
5074
+ reject: function () { return _this.loading = false; },
5075
+ });
5076
+ };
5077
+ DevolucaoFormComponent.prototype.saveAndInit = function (start) {
5078
+ var _this = this;
5079
+ this.getSaveObservable()
5080
+ .pipe(operators.takeUntil(this.ngUnsubscribe), operators.finalize(function () { return _this.loading = false; }))
5081
+ .subscribe(function (value) {
4998
5082
  _this.formGroup.get('id').setValue(value.id || null);
4999
- _this.addMessage("success", "saved_message_title", "saved_message_content");
5000
- if (start && _this.saveAndInitButton)
5083
+ _this.successMessage();
5084
+ if (start && _this.saveAndInitButton) {
5001
5085
  _this.saveAndInitButton.click();
5086
+ }
5087
+ });
5088
+ };
5089
+ DevolucaoFormComponent.prototype.successMessage = function () {
5090
+ this.messageService.add({
5091
+ severity: "success",
5092
+ summary: this.translate.instant("saved_message_title"),
5093
+ detail: this.translate.instant("saved_message_content"),
5002
5094
  });
5003
5095
  };
5004
5096
  DevolucaoFormComponent.prototype.addMessage = function (severity, summary, detail) {
@@ -5187,9 +5279,10 @@
5187
5279
  DevolucaoFormComponent = __decorate([
5188
5280
  core.Component({
5189
5281
  selector: 'devolucao-form',
5190
- template: "<div *sLoadingState=\"loading\">\n <form [formGroup]=\"formGroup\">\n <div class=\"ui-fluid ui-g\"> \n <div class=\"ui-md-6 ui-g-12 required\">\n <label for=\"filial\">{{'yms.erp.devolucao_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 \n <div class=\"ui-md-6 ui-g-12 required\">\n <label for=\"fornecedor\">{{'yms.erp.devolucao_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 [control]=\"formGroup.controls['fornecedor']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\"></s-control-errors>\n </div>\n \n <div class=\"ui-md-6 ui-g-12 required\">\n <label for=\"produto\">{{'yms.erp.devolucao_produto' | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"produto\" name=\"produto\" formControlName=\"produto\"\n [searchFields]=\"produtoSearchFields\" [searchGridFields]=\"produtoSearchFields\"\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.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 \n <div class=\"ui-md-6 ui-g-12\" [ngClass]=\"{'required': formGroup.get('produto').value}\">\n <label for=\"derivacao\">{{'yms.erp.devolucao_derivacao' | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"derivacao\" name=\"derivacao\" formControlName=\"derivacao\"\n [searchFields]=\"derivacaoSearchFields\" [searchGridFields]=\"derivacaoSearchFields\"\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.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 <s-control-errors [control]=\"formGroup.controls['derivacao']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\"></s-control-errors>\n </div>\n \n <div class=\"ui-md-6 ui-g-12 required\">\n <label for=\"origemMercadoria\">{{'yms.erp.devolucao_origem_mercadoria' | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"origemMercadoria\" name=\"origemMercadoria\" formControlName=\"origemMercadoria\"\n [searchFields]=\"origemMercadoriaSearchFields\" [searchGridFields]=\"origemMercadoriaSearchFields\"\n [searchGridData]=\"origemMercadoriaSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"origemMercadoriaLookupSuggestions\"\n (onLookupRequest)=\"onOrigemMercadoriaLookupRequest($event)\"\n (onSearchRequest)=\"onOrigemMercadoriaSearchRequest($event)\" lookupDisplayField=\"label\"\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 <s-control-errors [control]=\"formGroup.controls['origemMercadoria']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\"></s-control-errors>\n </div>\n \n \n <div class=\"ui-md-6 ui-g-12\">\n <label for=\"transportadora\">{{'yms.erp.devolucao_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-md-6 ui-g-12\">\n <label for=\"chaveNotaFiscal\">{{'yms.erp.devolucao_chave_nota_fiscal' | translate}}</label>\n <input type=\"text\" id=\"chaveNotaFiscal\" name=\"chaveNotaFiscal\" pInputText formControlName=\"chaveNotaFiscal\"> \n </div>\n \n <div class=\"ui-md-6 ui-g-12\">\n <label for=\"numeroNotaFiscal\">{{'yms.erp.devolucao_numero_nota_fiscal' | translate}}</label>\n <input type=\"text\" id=\"numeroNotaFiscal\" name=\"numeroNotaFiscal\" pInputText formControlName=\"numeroNotaFiscal\"> \n </div>\n \n <div class=\"ui-md-6 ui-g-12\">\n <label for=\"serieNotaFiscal\">{{'yms.erp.devolucao_serie_nota_fiscal' | translate}}</label>\n <input type=\"text\" id=\"serieNotaFiscal\" name=\"serieNotaFiscal\" pInputText formControlName=\"serieNotaFiscal\"> \n </div>\n \n <div class=\"ui-md-6 ui-g-12\">\n <label for=\"numeroNotaFiscalProdutor\">{{'yms.erp.devolucao_numero_nota_fiscal_produtor' | translate}}</label>\n <input type=\"text\" id=\"numeroNotaFiscalProdutor\" name=\"numeroNotaFiscalProdutor\" pInputText formControlName=\"numeroNotaFiscalProdutor\"> \n </div>\n \n <div class=\"ui-md-6 ui-g-12\">\n <label for=\"serieNotaFiscalProdutor\">{{'yms.erp.devolucao_serie_nota_fiscal_produtor' | translate}}</label>\n <input type=\"text\" id=\"serieNotaFiscalProdutor\" name=\"serieNotaFiscalProdutor\" pInputText formControlName=\"serieNotaFiscalProdutor\"> \n </div>\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 </div>\n </form>\n \n <div style=\"margin: 5px 0 5px 0;\">\n <s-button priority=\"primary\" [label]=\"'save' | translate\" (onClick)=\"onSave()\" [disabled]=\"loading || disableButtonSave\"></s-button>\n <s-button *ngIf=\"saveAndInitButton\" priority=\"primary\" [label]=\"'save_and_init' | translate\" (onClick)=\"onSave(true)\" [disabled]=\"disableButtonSave\"></s-button>\n </div>\n</div>\n"
5282
+ 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-fluid ui-g\"> \n <div class=\"ui-md-6 ui-g-12 required\">\n <label for=\"filial\">{{'yms.erp.devolucao_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 \n <div class=\"ui-md-6 ui-g-12 required\">\n <label for=\"fornecedor\">{{'yms.erp.devolucao_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 [control]=\"formGroup.controls['fornecedor']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\"></s-control-errors>\n </div>\n \n <div class=\"ui-md-6 ui-g-12 required\">\n <label for=\"produto\">{{'yms.erp.devolucao_produto' | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"produto\" name=\"produto\" formControlName=\"produto\"\n [searchFields]=\"produtoSearchFields\" [searchGridFields]=\"produtoSearchFields\"\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.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 \n <div class=\"ui-md-6 ui-g-12\" [ngClass]=\"{'required': formGroup.get('produto').value}\">\n <label for=\"derivacao\">{{'yms.erp.devolucao_derivacao' | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"derivacao\" name=\"derivacao\" formControlName=\"derivacao\"\n [searchFields]=\"derivacaoSearchFields\" [searchGridFields]=\"derivacaoSearchFields\"\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.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 <s-control-errors [control]=\"formGroup.controls['derivacao']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\"></s-control-errors>\n </div>\n \n <div class=\"ui-md-6 ui-g-12 required\">\n <label for=\"origemMercadoria\">{{'yms.erp.devolucao_origem_mercadoria' | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"origemMercadoria\" name=\"origemMercadoria\" formControlName=\"origemMercadoria\"\n [searchFields]=\"origemMercadoriaSearchFields\" [searchGridFields]=\"origemMercadoriaSearchFields\"\n [searchGridData]=\"origemMercadoriaSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"origemMercadoriaLookupSuggestions\"\n (onLookupRequest)=\"onOrigemMercadoriaLookupRequest($event)\"\n (onSearchRequest)=\"onOrigemMercadoriaSearchRequest($event)\" lookupDisplayField=\"label\"\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 <s-control-errors [control]=\"formGroup.controls['origemMercadoria']\"\n [errorMessages]=\"{ required: 'yms.erp.error_required' | translate }\"></s-control-errors>\n </div>\n \n \n <div class=\"ui-md-6 ui-g-12\">\n <label for=\"transportadora\">{{'yms.erp.devolucao_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-md-6 ui-g-12\">\n <label for=\"chaveNotaFiscal\">{{'yms.erp.devolucao_chave_nota_fiscal' | translate}}</label>\n <input type=\"text\" id=\"chaveNotaFiscal\" name=\"chaveNotaFiscal\" pInputText formControlName=\"chaveNotaFiscal\"> \n </div>\n \n <div class=\"ui-md-6 ui-g-12\">\n <label for=\"numeroNotaFiscal\">{{'yms.erp.devolucao_numero_nota_fiscal' | translate}}</label>\n <input type=\"text\" id=\"numeroNotaFiscal\" name=\"numeroNotaFiscal\" pInputText formControlName=\"numeroNotaFiscal\"> \n </div>\n \n <div class=\"ui-md-6 ui-g-12\">\n <label for=\"serieNotaFiscal\">{{'yms.erp.devolucao_serie_nota_fiscal' | translate}}</label>\n <input type=\"text\" id=\"serieNotaFiscal\" name=\"serieNotaFiscal\" pInputText formControlName=\"serieNotaFiscal\"> \n </div>\n \n <div class=\"ui-md-6 ui-g-12\">\n <label for=\"numeroNotaFiscalProdutor\">{{'yms.erp.devolucao_numero_nota_fiscal_produtor' | translate}}</label>\n <input type=\"text\" id=\"numeroNotaFiscalProdutor\" name=\"numeroNotaFiscalProdutor\" pInputText formControlName=\"numeroNotaFiscalProdutor\"> \n </div>\n \n <div class=\"ui-md-6 ui-g-12\">\n <label for=\"serieNotaFiscalProdutor\">{{'yms.erp.devolucao_serie_nota_fiscal_produtor' | translate}}</label>\n <input type=\"text\" id=\"serieNotaFiscalProdutor\" name=\"serieNotaFiscalProdutor\" pInputText formControlName=\"serieNotaFiscalProdutor\"> \n </div>\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 </div>\n </form>\n \n <div style=\"margin: 5px 0 5px 0;\">\n <s-button priority=\"primary\" [label]=\"'save' | translate\" (onClick)=\"onSave()\" [disabled]=\"loading || disableButtonSave\"></s-button>\n <s-button *ngIf=\"saveAndInitButton\" priority=\"primary\" [label]=\"'save_and_init' | translate\" (onClick)=\"onSave(true)\" [disabled]=\"disableButtonSave\"></s-button>\n </div>\n</div>\n"
5191
5283
  }),
5192
5284
  __metadata("design:paramtypes", [forms.FormBuilder,
5285
+ router.Router,
5193
5286
  core$1.TranslateService,
5194
5287
  FilialService,
5195
5288
  PessoaService,
@@ -5200,7 +5293,9 @@
5200
5293
  DevolucaoService,
5201
5294
  api.MessageService,
5202
5295
  router.ActivatedRoute,
5203
- DevolucaoChegadaVeiculoOverride])
5296
+ DevolucaoChegadaVeiculoOverride,
5297
+ api.ConfirmationService,
5298
+ AgendaService])
5204
5299
  ], DevolucaoFormComponent);
5205
5300
  return DevolucaoFormComponent;
5206
5301
  }());
@@ -5313,10 +5408,7 @@
5313
5408
 
5314
5409
  var moment$k = _moment;
5315
5410
  var ExpedicaoFormComponent = /** @class */ (function () {
5316
- function ExpedicaoFormComponent(
5317
- /*{CA:INJECTIONS:START}*/
5318
- /*{CA:INJECTIONS:END}*/
5319
- expedicaoService, router, route, messageService, formBuilder, translate, hotkeysService, fieldCustomization, focusService, pessoaService, filialService, transportadoraService, pedidoVendaService, pedidoVendaItemService, agendaService, override) {
5411
+ function ExpedicaoFormComponent(expedicaoService, router, route, messageService, formBuilder, translate, hotkeysService, fieldCustomization, focusService, pessoaService, filialService, transportadoraService, pedidoVendaService, pedidoVendaItemService, agendaService, override, confirmationService) {
5320
5412
  this.expedicaoService = expedicaoService;
5321
5413
  this.router = router;
5322
5414
  this.route = route;
@@ -5333,6 +5425,7 @@
5333
5425
  this.pedidoVendaItemService = pedidoVendaItemService;
5334
5426
  this.agendaService = agendaService;
5335
5427
  this.override = override;
5428
+ this.confirmationService = confirmationService;
5336
5429
  this.localeConfig = {};
5337
5430
  this.currencyLocaleOptions = {};
5338
5431
  this.permissions = {};
@@ -5386,16 +5479,13 @@
5386
5479
  this.totalEixosContratados = 0;
5387
5480
  this.totalEixosComposicao = 0;
5388
5481
  this.ordersValid = true;
5389
- /*{CA:CLASS_ATTRIBUTES:START}*/
5390
- /*{CA:CLASS_ATTRIBUTES:END}*/
5391
5482
  this.ngUnsubscribe = new rxjs.Subject();
5483
+ this.isFormModified = false;
5392
5484
  this.formGroup = this.getFormGroup();
5393
5485
  this.pedidoVendaForm = this.getPedidoVendaForm();
5394
5486
  this.itemFormGroup = this.getOrdemVendaItemForm();
5395
5487
  }
5396
5488
  ExpedicaoFormComponent.prototype.ngOnInit = function () {
5397
- /*{CA:ON_INIT_START:START}*/
5398
- /*{CA:ON_INIT_START:END}*/
5399
5489
  var _this = this;
5400
5490
  this.route.data
5401
5491
  .pipe(operators.takeUntil(this.ngUnsubscribe))
@@ -5418,21 +5508,18 @@
5418
5508
  this.filialSearchFields = this.getFilialSearchFields();
5419
5509
  this.filialSearchGridFields = this.getFilialSearchGridFields();
5420
5510
  this.transportadoraSearchFields = this.getTransportadoraSearchFields();
5421
- this.transportadoraSearchGridFields =
5422
- this.getTransportadoraSearchGridFields();
5511
+ this.transportadoraSearchGridFields = this.getTransportadoraSearchGridFields();
5423
5512
  this.pedidoVendaSearchFields = this.getPedidoVendaSearchFields();
5424
5513
  this.pedidoVendaSearchGridFields = this.getPedidoVendaSearchGridFields();
5425
5514
  this.pedidoVendaItemSearchFields = this.getPedidoVendaItemSearchFields();
5426
- this.pedidoVendaItemSearchGridFields =
5427
- this.getPedidoVendaItemSearchGridFields();
5515
+ this.pedidoVendaItemSearchGridFields = this.getPedidoVendaItemSearchGridFields();
5428
5516
  this.agendaSearchFields = this.getAgendaSearchFields();
5429
5517
  this.agendaSearchGridFields = this.getAgendaSearchGridFields();
5430
5518
  this.setHotkeys();
5431
5519
  if (this.agenda && this.agenda.externalTenant) {
5432
5520
  this.setTransportadora(this.agenda.externalTenant.cnpj);
5433
5521
  }
5434
- this.totalEixosComposicao =
5435
- this.agenda && this.agenda.veiculo ? this.agenda.veiculo.eixos || 0 : 0;
5522
+ this.totalEixosComposicao = this.agenda && this.agenda.veiculo ? this.agenda.veiculo.eixos || 0 : 0;
5436
5523
  var statusAgenda = [
5437
5524
  "AGUARDANDO_CONFIRMACAO_SOLICITANTE",
5438
5525
  "AGENDADO",
@@ -5454,15 +5541,17 @@
5454
5541
  this.disableOrdersButtons = true;
5455
5542
  }
5456
5543
  this.setPedidosValueChanges();
5457
- /*{CA:ON_INIT_END:START}*/
5458
- /*{CA:ON_INIT_END:END}*/
5544
+ var rs = new rxjs.ReplaySubject();
5545
+ rs.subscribe(function (isIntact) { return (_this.isFormModified = !isIntact); });
5546
+ this.formIntactChecker = new FormIntactChecker(this.formGroup, rs);
5459
5547
  };
5460
5548
  ExpedicaoFormComponent.prototype.abrirPedidoVenda = function (pedidoVenda) {
5461
5549
  var buttons = document
5462
5550
  .getElementById("pedidoVenda")
5463
5551
  .getElementsByTagName("button");
5464
- if (!buttons.length)
5552
+ if (!buttons.length) {
5465
5553
  return;
5554
+ }
5466
5555
  this.pedidoVendaForm.patchValue({ pedidoVenda: pedidoVenda });
5467
5556
  buttons[0].click();
5468
5557
  };
@@ -5495,13 +5584,16 @@
5495
5584
  ExpedicaoFormComponent.prototype.selecionarPedidoVenda = function (pedidoVenda) {
5496
5585
  var checkOrders = function (order) { return order.pedidoVenda.id === pedidoVenda.id; };
5497
5586
  var pedidos = this.formGroup.get("pedidos").value;
5498
- if (pedidos.find(checkOrders))
5587
+ if (pedidos.find(checkOrders)) {
5499
5588
  return this.addMessage("warn", this.translate.instant("yms.erp.pedido_venda_search_already_selected_summary"), this.translate.instant("yms.erp.pedido_venda_search_already_selected_detail"));
5500
- this.formGroup.get("pedidos").push(this.getOrdemVendaForm(pedidoVenda, true));
5589
+ }
5590
+ this.formGroup.get("pedidos")
5591
+ .push(this.getOrdemVendaForm(pedidoVenda, true));
5501
5592
  if (!!pedidoVenda &&
5502
5593
  this.formGroup.get("pedidos").length === 1 &&
5503
- !this.formGroup.get("clienteFaturamento").value)
5594
+ !this.formGroup.get("clienteFaturamento").value) {
5504
5595
  this.buscarClienteAFaturar(pedidoVenda);
5596
+ }
5505
5597
  };
5506
5598
  ExpedicaoFormComponent.prototype.selecionarPedidoVendaItem = function () {
5507
5599
  var item = this.itemFormGroup.value;
@@ -5548,8 +5640,6 @@
5548
5640
  });
5549
5641
  };
5550
5642
  ExpedicaoFormComponent.prototype.ngAfterViewInit = function () {
5551
- /*{CA:ON_VIEW_INIT_START:START}*/
5552
- /*{CA:ON_VIEW_INIT_START:END}*/
5553
5643
  var inputList = document.getElementsByTagName("input");
5554
5644
  var selectedInput = Array.from(inputList).find(function (f) { return !f.disabled; });
5555
5645
  if (selectedInput) {
@@ -5557,21 +5647,13 @@
5557
5647
  }
5558
5648
  this.override.initialize();
5559
5649
  this.saveAndInitButton = document.getElementById("init");
5560
- /*{CA:ON_VIEW_INIT_END:START}*/
5561
- /*{CA:ON_VIEW_INIT_END:END}*/
5562
5650
  };
5563
5651
  ExpedicaoFormComponent.prototype.ngOnDestroy = function () {
5564
- /*{CA:ON_DESTROY_START:START}*/
5565
- /*{CA:ON_DESTROY_START:END}*/
5566
5652
  this.ngUnsubscribe.next();
5567
5653
  this.ngUnsubscribe.complete();
5568
5654
  this.override.remove();
5569
- /*{CA:ON_DESTROY_END:START}*/
5570
- /*{CA:ON_DESTROY_END:END}*/
5571
5655
  };
5572
5656
  ExpedicaoFormComponent.prototype.setHotkeys = function () {
5573
- /*{CA:SET_HOTKEYS_START:START}*/
5574
- /*{CA:SET_HOTKEYS_START:END}*/
5575
5657
  var _this = this;
5576
5658
  this.hotkeysService.add(new angular2Hotkeys.Hotkey("alt+shift+s", function () {
5577
5659
  if (_this.isNew() || _this.permissions.editar)
@@ -5582,23 +5664,17 @@
5582
5664
  _this.onCancel();
5583
5665
  return false;
5584
5666
  }, ["INPUT", "SELECT", "TEXTAREA"]));
5585
- /*{CA:SET_HOTKEYS_END:START}*/
5586
- /*{CA:SET_HOTKEYS_END:END}*/
5587
5667
  };
5588
5668
  ExpedicaoFormComponent.prototype.isNew = function () {
5589
5669
  return !this.formGroup.value.id;
5590
5670
  };
5591
5671
  ExpedicaoFormComponent.prototype.updateSuggestions = function (value) {
5592
- /*{CA:ON_UPDATE_SUGGESTIONS_START:START}*/
5593
- /*{CA:ON_UPDATE_SUGGESTIONS_START:END}*/
5594
5672
  if (value.agenda) {
5595
5673
  value.agenda.label = this.getSuggestionValue(["id", "descricao"], "agenda", value, this.agendaLookupSeparator);
5596
5674
  if (value.agenda.label.trim() === this.agendaLookupSeparator.trim()) {
5597
5675
  delete value.agenda.label;
5598
5676
  }
5599
5677
  }
5600
- /*{CA:ON_UPDATE_SUGGESTIONS_END:START}*/
5601
- /*{CA:ON_UPDATE_SUGGESTIONS_END:END}*/
5602
5678
  };
5603
5679
  ExpedicaoFormComponent.prototype.getSuggestionValue = function (displayFields, ownerEntity, value, separator) {
5604
5680
  var _this = this;
@@ -5607,8 +5683,6 @@
5607
5683
  .reduce(function (acc, val) { return "" + acc + separator + val; });
5608
5684
  };
5609
5685
  ExpedicaoFormComponent.prototype.onRouteDataChange = function (data) {
5610
- /*{CA:ON_ROUTE_DATA_CHANGE_START:START}*/
5611
- /*{CA:ON_ROUTE_DATA_CHANGE_START:END}*/
5612
5686
  var _a = data.localeConfig.number, currencySymbol = _a.currencySymbol, thousandsSeparator = _a.thousandsSeparator, decimalSeparator = _a.decimalSeparator;
5613
5687
  this.localeConfig = data.localeConfig;
5614
5688
  this.currencyLocaleOptions = {
@@ -5619,7 +5693,7 @@
5619
5693
  };
5620
5694
  this.permissions = data.allPermissions.expedicao;
5621
5695
  this.allPermissions = data.allPermissions;
5622
- this.validateVisualization();
5696
+ //this.validateVisualization();
5623
5697
  if (data.entity) {
5624
5698
  var canEdit = this.permissions.editar;
5625
5699
  if (!canEdit)
@@ -5631,15 +5705,9 @@
5631
5705
  else {
5632
5706
  this.formGroup.patchValue(new Expedicao());
5633
5707
  }
5634
- /*{CA:ON_ROUTE_DATA_CHANGE_END:START}*/
5635
- /*{CA:ON_ROUTE_DATA_CHANGE_END:END}*/
5636
5708
  };
5637
5709
  ExpedicaoFormComponent.prototype.onCancel = function () {
5638
- /*{CA:ON_CANCEL_START:START}*/
5639
- /*{CA:ON_CANCEL_START:END}*/
5640
5710
  this.goBack();
5641
- /*{CA:ON_CANCEL_END:START}*/
5642
- /*{CA:ON_CANCEL_END:END}*/
5643
5711
  };
5644
5712
  ExpedicaoFormComponent.prototype.onSendFile = function (filesToDelete, filesToCommit) {
5645
5713
  var observables = [];
@@ -5690,42 +5758,65 @@
5690
5758
  var _this = this;
5691
5759
  this.formGroup.get("agenda").setValue(this.agenda);
5692
5760
  this.ordersValid = this.formGroup.get("pedidos").length > 0;
5693
- if (this.formGroup.invalid || !this.ordersValid)
5761
+ if (this.formGroup.invalid || !this.ordersValid) {
5694
5762
  return this.validateAllFormFields(this.formGroup);
5695
- this.loading = true;
5763
+ }
5696
5764
  this.setValuesPedidoBiodisel();
5697
5765
  var _a = this.fieldCustomization.getFiles(this.formGroup), filesToDelete = _a.filesToDelete, filesToCommit = _a.filesToCommit;
5766
+ this.loading = true;
5767
+ if (this.isFormModified) {
5768
+ this.agendaService
5769
+ .retornaModelosValidacao(this.agenda.tipoAgendamento.id)
5770
+ .pipe(operators.takeUntil(this.ngUnsubscribe))
5771
+ .subscribe(function (response) {
5772
+ if (response.tiposModeloValidacao.length > 0) {
5773
+ _this.atualizaAgendaParaRejeitadoPorValidacao();
5774
+ }
5775
+ else {
5776
+ _this.saveAndInit(filesToDelete, filesToCommit, start);
5777
+ }
5778
+ });
5779
+ }
5780
+ else {
5781
+ this.saveAndInit(filesToDelete, filesToCommit, start);
5782
+ }
5783
+ };
5784
+ ExpedicaoFormComponent.prototype.atualizaAgendaParaRejeitadoPorValidacao = function () {
5785
+ var _this = this;
5786
+ this.confirmationService.confirm({
5787
+ header: this.translate.instant("yms.patio.agenda_revalidacao_title"),
5788
+ message: this.translate.instant("yms.patio.agenda_revalidacao_message"),
5789
+ accept: function () {
5790
+ _this.agenda.status = StatusAgenda.REJEITADO_POR_VALIDACAO;
5791
+ _this.agendaService
5792
+ .atualizarAgenda(_this.agenda)
5793
+ .pipe(operators.takeUntil(_this.ngUnsubscribe), operators.concatMap(function (_) { return _this.getSaveObservable(); }), operators.finalize(function () { return _this.loading = false; }))
5794
+ .subscribe(function (_) {
5795
+ _this.successMessage();
5796
+ _this.router.navigate(["/chegada-veiculo"], { relativeTo: _this.route });
5797
+ });
5798
+ },
5799
+ reject: function () { return _this.loading = false; },
5800
+ });
5801
+ };
5802
+ ExpedicaoFormComponent.prototype.saveAndInit = function (filesToDelete, filesToCommit, start) {
5803
+ var _this = this;
5698
5804
  this.atualizaExpedicao(filesToDelete, filesToCommit, function () {
5699
5805
  if (start && _this.saveAndInitButton) {
5700
5806
  _this.saveAndInitButton.click();
5701
5807
  }
5702
5808
  });
5703
- /* this.agendaService
5704
- .retornaModelosValidacao(this.agenda.tipoAgendamento.id)
5705
- .pipe(takeUntil(this.ngUnsubscribe))
5706
- .subscribe((res: any) => {
5707
- if (res.tiposModeloValidacao.includes("CUSTOM")) {
5708
- this.agenda.status = StatusAgenda.REJEITADO_POR_VALIDACAO;
5709
- this.agendaService
5710
- .atualizarAgenda(this.agenda)
5711
- .pipe(takeUntil(this.ngUnsubscribe))
5712
- .subscribe((_) => {
5713
- this.atualizaExpedicao(filesToDelete, filesToCommit, () => {
5714
- this.router.navigate(["chegada-veiculo"]);
5715
- });
5716
- });
5717
- } else {
5718
- this.atualizaExpedicao(filesToDelete, filesToCommit, () => {
5719
- if (start && this.saveAndInitButton) {
5720
- this.saveAndInitButton.click();
5721
- }
5722
- });
5723
- }
5724
- }); */
5809
+ };
5810
+ ExpedicaoFormComponent.prototype.successMessage = function () {
5811
+ this.messageService.add({
5812
+ severity: "success",
5813
+ summary: this.translate.instant("saved_message_title"),
5814
+ detail: this.translate.instant("saved_message_content"),
5815
+ });
5725
5816
  };
5726
5817
  ExpedicaoFormComponent.prototype.atualizaExpedicao = function (filesToDelete, filesToCommit, onSubscribe) {
5727
5818
  var _this = this;
5728
- this.getSaveObservable()
5819
+ return this.getSaveObservable()
5729
5820
  .pipe(operators.takeUntil(this.ngUnsubscribe), operators.finalize(function () { return (_this.loading = false); }))
5730
5821
  .subscribe(function (value) {
5731
5822
  _this.formGroup.get("id").setValue(value.id || null);
@@ -5813,20 +5904,14 @@
5813
5904
  });
5814
5905
  };
5815
5906
  ExpedicaoFormComponent.prototype.onClienteFaturamentoLookupRequest = function (value) {
5816
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_START:START}*/
5817
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_START:END}*/
5818
5907
  var _this = this;
5819
5908
  onLookupRequest(this.clienteFaturamentoSearchFields, this.clienteFaturamentoLookupDisplayFields, this.clienteFaturamentoAdvancedDisplayFields, this.clienteFaturamentoLookupSeparator, this.pessoaService, value, "cliente eq true")
5820
5909
  .pipe(operators.takeUntil(this.ngUnsubscribe))
5821
5910
  .subscribe(function (list) {
5822
5911
  _this.clienteFaturamentoLookupSuggestions = list.contents;
5823
5912
  });
5824
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_END:START}*/
5825
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_END:END}*/
5826
5913
  };
5827
5914
  ExpedicaoFormComponent.prototype.onClienteFaturamentoSearchRequest = function (event) {
5828
- /*{CA:ON_AGENDA_SEARCH_REQUEST_START:START}*/
5829
- /*{CA:ON_AGENDA_SEARCH_REQUEST_START:END}*/
5830
5915
  var _this = this;
5831
5916
  var first = event.first, rows = event.rows, multiSortMeta = event.multiSortMeta, filterData = event.filterData;
5832
5917
  var page = first / rows;
@@ -5873,24 +5958,16 @@
5873
5958
  _this.clienteFaturamentoSearchGridData = list.contents;
5874
5959
  _this.clienteFaturamentoSearchTotalRecords = list.totalElements;
5875
5960
  });
5876
- /*{CA:ON_AGENDA_SEARCH_REQUEST_END:START}*/
5877
- /*{CA:ON_AGENDA_SEARCH_REQUEST_END:END}*/
5878
5961
  };
5879
5962
  ExpedicaoFormComponent.prototype.onClienteRemessaLookupRequest = function (value) {
5880
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_START:START}*/
5881
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_START:END}*/
5882
5963
  var _this = this;
5883
5964
  onLookupRequest(this.clienteRemessaSearchFields, this.clienteRemessaLookupDisplayFields, this.clienteRemessaAdvancedDisplayFields, this.clienteRemessaLookupSeparator, this.pessoaService, value, "cliente eq true")
5884
5965
  .pipe(operators.takeUntil(this.ngUnsubscribe))
5885
5966
  .subscribe(function (list) {
5886
5967
  _this.clienteRemessaLookupSuggestions = list.contents;
5887
5968
  });
5888
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_END:START}*/
5889
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_END:END}*/
5890
5969
  };
5891
5970
  ExpedicaoFormComponent.prototype.onClienteRemessaSearchRequest = function (event) {
5892
- /*{CA:ON_AGENDA_SEARCH_REQUEST_START:START}*/
5893
- /*{CA:ON_AGENDA_SEARCH_REQUEST_START:END}*/
5894
5971
  var _this = this;
5895
5972
  var first = event.first, rows = event.rows, multiSortMeta = event.multiSortMeta, filterData = event.filterData;
5896
5973
  var page = first / rows;
@@ -5935,16 +6012,12 @@
5935
6012
  _this.clienteRemessaSearchGridData = list.contents;
5936
6013
  _this.clienteRemessaSearchTotalRecords = list.totalElements;
5937
6014
  });
5938
- /*{CA:ON_AGENDA_SEARCH_REQUEST_END:START}*/
5939
- /*{CA:ON_AGENDA_SEARCH_REQUEST_END:END}*/
5940
6015
  };
5941
6016
  ExpedicaoFormComponent.prototype.onFilialSelect = function (event) {
5942
6017
  this.disableOrdersButtons = !event || this.agenda.createdByErp;
5943
6018
  };
5944
6019
  ExpedicaoFormComponent.prototype.onFilialLookupRequest = function (value) {
5945
6020
  var _this = this;
5946
- /*{CA:ON_FORNECEDOR_LOOKUP_REQUEST_START:START}*/
5947
- /*{CA:ON_FORNECEDOR_LOOKUP_REQUEST_START:END}*/
5948
6021
  var filterInput = this.getFilialSearchFields()
5949
6022
  .filter(function (_a) {
5950
6023
  var type = _a.type;
@@ -5969,12 +6042,8 @@
5969
6042
  return Filial.fromDto(filial);
5970
6043
  }));
5971
6044
  });
5972
- /*{CA:ON_FORNECEDOR_LOOKUP_REQUEST_END:START}*/
5973
- /*{CA:ON_FORNECEDOR_LOOKUP_REQUEST_END:END}*/
5974
6045
  };
5975
6046
  ExpedicaoFormComponent.prototype.onFilialSearchRequest = function (event) {
5976
- /*{CA:ON_FORNECEDOR_SEARCH_REQUEST_START:START}*/
5977
- /*{CA:ON_FORNECEDOR_SEARCH_REQUEST_START:END}*/
5978
6047
  var _this = this;
5979
6048
  var first = event.first, rows = event.rows, multiSortMeta = event.multiSortMeta, filterData = event.filterData;
5980
6049
  var page = first / rows;
@@ -6011,24 +6080,16 @@
6011
6080
  _this.filialSearchGridData = list.filiais.map(Filial.fromDto);
6012
6081
  _this.filialSearchTotalRecords = list.qtdTotalRegistros;
6013
6082
  });
6014
- /*{CA:ON_FORNECEDOR_SEARCH_REQUEST_END:START}*/
6015
- /*{CA:ON_FORNECEDOR_SEARCH_REQUEST_END:END}*/
6016
6083
  };
6017
6084
  ExpedicaoFormComponent.prototype.onTransportadoraLookupRequest = function (value) {
6018
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_START:START}*/
6019
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_START:END}*/
6020
6085
  var _this = this;
6021
6086
  onLookupRequest(this.transportadoraSearchFields, this.transportadoraLookupDisplayFields, this.transportadoraAdvancedDisplayFields, this.transportadoraLookupSeparator, this.transportadoraService, value)
6022
6087
  .pipe(operators.takeUntil(this.ngUnsubscribe))
6023
6088
  .subscribe(function (list) {
6024
6089
  _this.transportadoraLookupSuggestions = list.contents;
6025
6090
  });
6026
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_END:START}*/
6027
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_END:END}*/
6028
6091
  };
6029
6092
  ExpedicaoFormComponent.prototype.onTransportadoraSearchRequest = function (event) {
6030
- /*{CA:ON_AGENDA_SEARCH_REQUEST_START:START}*/
6031
- /*{CA:ON_AGENDA_SEARCH_REQUEST_START:END}*/
6032
6093
  var _this = this;
6033
6094
  onSearchRequest(this.transportadoraSearchFields, this.transportadoraLookupDisplayFields, this.transportadoraAdvancedDisplayFields, this.transportadoraLookupSeparator, this.transportadoraService, event)
6034
6095
  .pipe(operators.takeUntil(this.ngUnsubscribe))
@@ -6036,13 +6097,9 @@
6036
6097
  _this.transportadoraSearchGridData = list.contents;
6037
6098
  _this.transportadoraSearchTotalRecords = list.totalElements;
6038
6099
  });
6039
- /*{CA:ON_AGENDA_SEARCH_REQUEST_END:START}*/
6040
- /*{CA:ON_AGENDA_SEARCH_REQUEST_END:END}*/
6041
6100
  };
6042
6101
  ExpedicaoFormComponent.prototype.onPedidoVendaLookupRequest = function (value) {
6043
6102
  var _this = this;
6044
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_START:START}*/
6045
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_START:END}*/
6046
6103
  var sort = this.pedidoVendaLookupDisplayFields.map(function (field) { return ({
6047
6104
  field: field,
6048
6105
  order: 1,
@@ -6092,8 +6149,6 @@
6092
6149
  .subscribe(function (list) {
6093
6150
  _this.pedidoVendaLookupSuggestions = list.contents;
6094
6151
  });
6095
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_END:START}*/
6096
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_END:END}*/
6097
6152
  };
6098
6153
  ExpedicaoFormComponent.prototype.getRecPagina = function (first, rows, sort) {
6099
6154
  var page = first / rows;
@@ -6110,8 +6165,6 @@
6110
6165
  };
6111
6166
  };
6112
6167
  ExpedicaoFormComponent.prototype.onPedidoVendaSearchRequest = function (event) {
6113
- /*{CA:ON_AGENDA_SEARCH_REQUEST_START:START}*/
6114
- /*{CA:ON_AGENDA_SEARCH_REQUEST_START:END}*/
6115
6168
  var _this = this;
6116
6169
  var first = event.first, rows = event.rows, multiSortMeta = event.multiSortMeta, filterData = event.filterData;
6117
6170
  var sort = multiSortMeta || [];
@@ -6148,13 +6201,9 @@
6148
6201
  _this.pedidoVendaSearchGridData = list.contents;
6149
6202
  _this.pedidoVendaSearchTotalRecords = list.totalElements;
6150
6203
  });
6151
- /*{CA:ON_AGENDA_SEARCH_REQUEST_END:START}*/
6152
- /*{CA:ON_AGENDA_SEARCH_REQUEST_END:END}*/
6153
6204
  };
6154
6205
  ExpedicaoFormComponent.prototype.onPedidoVendaItemLookupRequest = function (value) {
6155
6206
  var _this = this;
6156
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_START:START}*/
6157
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_START:END}*/
6158
6207
  var sort = this.pedidoVendaItemLookupDisplayFields.map(function (field) { return ({
6159
6208
  field: field,
6160
6209
  order: 1,
@@ -6183,12 +6232,8 @@
6183
6232
  .subscribe(function (list) {
6184
6233
  _this.pedidoVendaItemLookupSuggestions = list.contents;
6185
6234
  });
6186
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_END:START}*/
6187
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_END:END}*/
6188
6235
  };
6189
6236
  ExpedicaoFormComponent.prototype.onPedidoVendaItemSearchRequest = function (event) {
6190
- /*{CA:ON_AGENDA_SEARCH_REQUEST_START:START}*/
6191
- /*{CA:ON_AGENDA_SEARCH_REQUEST_START:END}*/
6192
6237
  var _this = this;
6193
6238
  var first = event.first, rows = event.rows, multiSortMeta = event.multiSortMeta, filterData = event.filterData;
6194
6239
  var sort = multiSortMeta;
@@ -6217,8 +6262,6 @@
6217
6262
  _this.pedidoVendaItemSearchGridData = list.contents;
6218
6263
  _this.pedidoVendaItemSearchTotalRecords = list.totalElements;
6219
6264
  });
6220
- /*{CA:ON_AGENDA_SEARCH_REQUEST_END:START}*/
6221
- /*{CA:ON_AGENDA_SEARCH_REQUEST_END:END}*/
6222
6265
  };
6223
6266
  ExpedicaoFormComponent.prototype.getAutomaticItensOrder = function (pedidoVenda) {
6224
6267
  var _this = this;
@@ -6250,8 +6293,6 @@
6250
6293
  };
6251
6294
  ExpedicaoFormComponent.prototype.onAgendaLookupRequest = function (value) {
6252
6295
  var _this = this;
6253
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_START:START}*/
6254
- /*{CA:ON_AGENDA_LOOKUP_REQUEST_START:END}*/
6255
6296
  var sort = this.agendaLookupDisplayFields.map(function (field) { return ({
6256
6297
  field: field,
6257
6298
  order: 1,
@@ -6692,16 +6733,10 @@
6692
6733
  return observable;
6693
6734
  };
6694
6735
  ExpedicaoFormComponent.prototype.validateVisualization = function () {
6695
- /*{CA:VALIDATE_VISUALIZATION_START:START}*/
6696
- /*{CA:VALIDATE_VISUALIZATION_START:END}*/
6697
6736
  if (!userCanVisualize(this.formGroup, this.allPermissions)) {
6698
6737
  this.addMessage("error", "yms.erp.cannot_visualize_form_summary", "yms.erp.cannot_visualize_form_detail");
6699
6738
  }
6700
- /*{CA:VALIDATE_VISUALIZATION_END:START}*/
6701
- /*{CA:VALIDATE_VISUALIZATION_END:END}*/
6702
6739
  };
6703
- /*{CA:CLASS_METHODS:START}*/
6704
- /*{CA:CLASS_METHODS:END}*/
6705
6740
  ExpedicaoFormComponent.prototype.addMessage = function (severity, summary, detail) {
6706
6741
  this.messageService.add({
6707
6742
  severity: severity,
@@ -6787,7 +6822,7 @@
6787
6822
  ExpedicaoFormComponent = __decorate([
6788
6823
  core.Component({
6789
6824
  selector: "expedicao-form",
6790
- template: "<div *sLoadingState=\"loading\">\n <form [formGroup]=\"formGroup\" novalidate>\n <div class=\"ui-g\">\n <div class=\"ui-g-12 ui-md-12\">\n <label class=\"required-h3\">Pedidos:</label>\n <s-button label=\"Adicionar pedido\" priority=\"default\" (onClick)=\"abrirPedidoVenda()\" [disabled]=\"disableButtonSave || disableOrdersButtons\"></s-button>\n <div class=\"error-required-message\" [hidden]=\"ordersValid\">{{'yms.erp.error_required' | translate}}</div>\n <p-accordion>\n <p-accordionTab *ngFor=\"let pedido of getPedidos(); let i = index\">\n <p-header>\n Pedido: {{ pedido.get('pedidoVenda')?.value?.numero }}\n </p-header>\n \n <div style=\"margin: 10px 0; display: block;\">\n <s-button label=\"Adicionar item do pedido\" priority=\"default\" size=\"small\"\n (onClick)=\"abrirPedidoVendaItem(pedido)\" [disabled]=\"disableButtonSave || disableOrdersButtons\"></s-button>\n <s-button label=\"Excluir pedido\" priority=\"default\" size=\"small\"\n (onClick)=\"excluirPedidoVenda(i)\" [disabled]=\"disableButtonSave || disableOrdersButtons\"></s-button>\n </div>\n \n <s-token-list [tokens]=\"buildTokens(pedido.get('itens')?.value)\" [removableTokens]=\"true\"\n (tokenRemoved)=\"excluirPedidoVendaItem($event.id, pedido)\">\n </s-token-list>\n </p-accordionTab>\n </p-accordion>\n <div style=\"display: inline-block;\" class=\"separator\"></div>\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\"\n autocomplete=\"off\" />\n </div>\n <div class=\"ui-g-12 ui-md-6 required\">\n <label for=\"filial\">{{\"yms.erp.expedicao_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 (onSelect)=\"onFilialSelect($event)\"\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=\"clienteFaturamento\">{{\"yms.erp.expedicao_cliente_faturamento\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"clienteFaturamento\" name=\"clienteFaturamento\"\n formControlName=\"clienteFaturamento\" [searchFields]=\"clienteFaturamentoSearchFields\"\n [searchGridFields]=\"clienteFaturamentoSearchGridFields\"\n [searchGridData]=\"clienteFaturamentoSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"clienteFaturamentoLookupSuggestions\"\n (onLookupRequest)=\"onClienteFaturamentoLookupRequest($event)\"\n (onSearchRequest)=\"onClienteFaturamentoSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"clienteFaturamentoSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.cliente_faturamento_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: clienteFaturamentoSearchTotalRecords}\">\n </s-lookup>\n <s-control-errors [control]=\"formGroup.controls['clienteFaturamento']\"\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=\"clienteRemessa\">{{\"yms.erp.expedicao_cliente_remessa\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"clienteRemessa\" name=\"clienteRemessa\" formControlName=\"clienteRemessa\"\n [searchFields]=\"clienteRemessaSearchFields\" [searchGridFields]=\"clienteRemessaSearchGridFields\"\n [searchGridData]=\"clienteRemessaSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"clienteRemessaLookupSuggestions\"\n (onLookupRequest)=\"onClienteRemessaLookupRequest($event)\"\n (onSearchRequest)=\"onClienteRemessaSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"clienteRemessaSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.cliente_remessa_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: clienteRemessaSearchTotalRecords}\">\n </s-lookup>\n <s-control-errors [control]=\"formGroup.controls['clienteRemessa']\"\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=\"transportadora\">{{\"yms.erp.expedicao_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=\"numeroAgendamentoCliente\">N\u00FAmero agendamento do cliente</label>\n <input type=\"text\" pInputText formControlName=\"numeroAgendamentoCliente\" pattern=\"[0-9]+$\">\n </div>\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"numeroPedidoCliente\">N\u00FAmero pedido do cliente</label>\n <input type=\"text\" pInputText formControlName=\"numeroPedidoCliente\" pattern=\"[0-9]+$\">\n </div>\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"itemPedidoCliente\">Item pedido do cliente</label>\n <input type=\"text\" pInputText formControlName=\"itemPedidoCliente\" pattern=\"[0-9]+$\">\n </div>\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 </div>\n </div>\n </form>\n\n <div style=\"margin: 5px 0 5px 0;\">\n <s-button priority=\"primary\" [label]=\"'save' | translate\" (onClick)=\"onSave()\" [disabled]=\"disableButtonSave\"></s-button>\n <s-button *ngIf=\"saveAndInitButton\" priority=\"primary\" [label]=\"'save_and_init' | translate\" (onClick)=\"onSave(true)\" [disabled]=\"disableButtonSave\"></s-button>\n </div>\n\n <form [formGroup]=\"pedidoVendaForm\" [hidden]=\"true\">\n <s-lookup dataKey=\"id\" id=\"pedidoVenda\" name=\"pedidoVenda\" formControlName=\"pedidoVenda\"\n [searchFields]=\"pedidoVendaSearchFields\" [searchGridFields]=\"pedidoVendaSearchGridFields\"\n [searchGridData]=\"pedidoVendaSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"pedidoVendaLookupSuggestions\" (onLookupRequest)=\"onPedidoVendaLookupRequest($event)\"\n (onSearchRequest)=\"onPedidoVendaSearchRequest($event)\" lookupDisplayField=\"label\"\n (onSelect)=\"selecionarPedidoVenda($event)\" [searchTotalRecords]=\"pedidoVendaSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.pedido_venda_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\" [filterLabel]=\"'yms.erp.filter' | translate\"\n [clearLabel]=\"'yms.erp.clear' | translate\" [cancelLabel]=\"'yms.erp.cancel' | translate\"\n [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: pedidoVendaSearchTotalRecords}\">\n </s-lookup>\n </form>\n\n <p-dialog [(visible)]=\"visibleDialog\" styleClass=\"s-lookup-modal\" [modal]=\"true\">\n <p-header>\n Adicionar item\n </p-header>\n\n <form [formGroup]=\"itemFormGroup\">\n <div class=\"ui-fluid\">\n <div class=\"ui-g\">\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"item\">Item do pedido</label>\n <s-lookup dataKey=\"id\" id=\"item\" name=\"item\" formControlName=\"item\"\n [searchFields]=\"pedidoVendaItemSearchFields\"\n [searchGridFields]=\"pedidoVendaItemSearchGridFields\"\n [searchGridData]=\"pedidoVendaItemSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"pedidoVendaItemLookupSuggestions\"\n (onLookupRequest)=\"onPedidoVendaItemLookupRequest($event)\"\n (onSearchRequest)=\"onPedidoVendaItemSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"pedidoVendaItemSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.expedicao_pedido_venda_itens_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: pedidoVendaItemSearchTotalRecords}\">\n </s-lookup>\n </div>\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"quantidade\">Quantidade</label>\n <input type=\"number\" pInputText formControlName=\"quantidade\">\n </div>\n </div>\n </div>\n </form>\n\n <p-footer>\n <s-button [label]=\"'select' | translate\" (onClick)=\"selecionarPedidoVendaItem()\"></s-button>\n </p-footer>\n </p-dialog>\n</div>",
6825
+ 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\">\n <div class=\"ui-g-12 ui-md-12\">\n <label class=\"required-h3\">Pedidos:</label>\n <s-button label=\"Adicionar pedido\" priority=\"default\" (onClick)=\"abrirPedidoVenda()\" [disabled]=\"disableButtonSave || disableOrdersButtons\"></s-button>\n <div class=\"error-required-message\" [hidden]=\"ordersValid\">{{'yms.erp.error_required' | translate}}</div>\n <p-accordion>\n <p-accordionTab *ngFor=\"let pedido of getPedidos(); let i = index\">\n <p-header>\n Pedido: {{ pedido.get('pedidoVenda')?.value?.numero }}\n </p-header>\n \n <div style=\"margin: 10px 0; display: block;\">\n <s-button label=\"Adicionar item do pedido\" priority=\"default\" size=\"small\"\n (onClick)=\"abrirPedidoVendaItem(pedido)\" [disabled]=\"disableButtonSave || disableOrdersButtons\"></s-button>\n <s-button label=\"Excluir pedido\" priority=\"default\" size=\"small\"\n (onClick)=\"excluirPedidoVenda(i)\" [disabled]=\"disableButtonSave || disableOrdersButtons\"></s-button>\n </div>\n \n <s-token-list [tokens]=\"buildTokens(pedido.get('itens')?.value)\" [removableTokens]=\"true\"\n (tokenRemoved)=\"excluirPedidoVendaItem($event.id, pedido)\">\n </s-token-list>\n </p-accordionTab>\n </p-accordion>\n <div style=\"display: inline-block;\" class=\"separator\"></div>\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\"\n autocomplete=\"off\" />\n </div>\n <div class=\"ui-g-12 ui-md-6 required\">\n <label for=\"filial\">{{\"yms.erp.expedicao_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 (onSelect)=\"onFilialSelect($event)\"\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=\"clienteFaturamento\">{{\"yms.erp.expedicao_cliente_faturamento\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"clienteFaturamento\" name=\"clienteFaturamento\"\n formControlName=\"clienteFaturamento\" [searchFields]=\"clienteFaturamentoSearchFields\"\n [searchGridFields]=\"clienteFaturamentoSearchGridFields\"\n [searchGridData]=\"clienteFaturamentoSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"clienteFaturamentoLookupSuggestions\"\n (onLookupRequest)=\"onClienteFaturamentoLookupRequest($event)\"\n (onSearchRequest)=\"onClienteFaturamentoSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"clienteFaturamentoSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.cliente_faturamento_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: clienteFaturamentoSearchTotalRecords}\">\n </s-lookup>\n <s-control-errors [control]=\"formGroup.controls['clienteFaturamento']\"\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=\"clienteRemessa\">{{\"yms.erp.expedicao_cliente_remessa\" | translate}}</label>\n <s-lookup dataKey=\"id\" id=\"clienteRemessa\" name=\"clienteRemessa\" formControlName=\"clienteRemessa\"\n [searchFields]=\"clienteRemessaSearchFields\" [searchGridFields]=\"clienteRemessaSearchGridFields\"\n [searchGridData]=\"clienteRemessaSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"clienteRemessaLookupSuggestions\"\n (onLookupRequest)=\"onClienteRemessaLookupRequest($event)\"\n (onSearchRequest)=\"onClienteRemessaSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"clienteRemessaSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.cliente_remessa_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: clienteRemessaSearchTotalRecords}\">\n </s-lookup>\n <s-control-errors [control]=\"formGroup.controls['clienteRemessa']\"\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=\"transportadora\">{{\"yms.erp.expedicao_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=\"numeroAgendamentoCliente\">N\u00FAmero agendamento do cliente</label>\n <input type=\"text\" pInputText formControlName=\"numeroAgendamentoCliente\" pattern=\"[0-9]+$\">\n </div>\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"numeroPedidoCliente\">N\u00FAmero pedido do cliente</label>\n <input type=\"text\" pInputText formControlName=\"numeroPedidoCliente\" pattern=\"[0-9]+$\">\n </div>\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"itemPedidoCliente\">Item pedido do cliente</label>\n <input type=\"text\" pInputText formControlName=\"itemPedidoCliente\" pattern=\"[0-9]+$\">\n </div>\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 </div>\n </div>\n </form>\n\n <div style=\"margin: 5px 0 5px 0;\">\n <s-button priority=\"primary\" [label]=\"'save' | translate\" (onClick)=\"onSave()\" [disabled]=\"disableButtonSave\"></s-button>\n <s-button *ngIf=\"saveAndInitButton\" priority=\"primary\" [label]=\"'save_and_init' | translate\" (onClick)=\"onSave(true)\" [disabled]=\"disableButtonSave\"></s-button>\n </div>\n\n <form [formGroup]=\"pedidoVendaForm\" [hidden]=\"true\">\n <s-lookup dataKey=\"id\" id=\"pedidoVenda\" name=\"pedidoVenda\" formControlName=\"pedidoVenda\"\n [searchFields]=\"pedidoVendaSearchFields\" [searchGridFields]=\"pedidoVendaSearchGridFields\"\n [searchGridData]=\"pedidoVendaSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"pedidoVendaLookupSuggestions\" (onLookupRequest)=\"onPedidoVendaLookupRequest($event)\"\n (onSearchRequest)=\"onPedidoVendaSearchRequest($event)\" lookupDisplayField=\"label\"\n (onSelect)=\"selecionarPedidoVenda($event)\" [searchTotalRecords]=\"pedidoVendaSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.pedido_venda_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\" [filterLabel]=\"'yms.erp.filter' | translate\"\n [clearLabel]=\"'yms.erp.clear' | translate\" [cancelLabel]=\"'yms.erp.cancel' | translate\"\n [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: pedidoVendaSearchTotalRecords}\">\n </s-lookup>\n </form>\n\n <p-dialog [(visible)]=\"visibleDialog\" styleClass=\"s-lookup-modal\" [modal]=\"true\">\n <p-header>\n Adicionar item\n </p-header>\n\n <form [formGroup]=\"itemFormGroup\">\n <div class=\"ui-fluid\">\n <div class=\"ui-g\">\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"item\">Item do pedido</label>\n <s-lookup dataKey=\"id\" id=\"item\" name=\"item\" formControlName=\"item\"\n [searchFields]=\"pedidoVendaItemSearchFields\"\n [searchGridFields]=\"pedidoVendaItemSearchGridFields\"\n [searchGridData]=\"pedidoVendaItemSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"pedidoVendaItemLookupSuggestions\"\n (onLookupRequest)=\"onPedidoVendaItemLookupRequest($event)\"\n (onSearchRequest)=\"onPedidoVendaItemSearchRequest($event)\" lookupDisplayField=\"label\"\n [searchTotalRecords]=\"pedidoVendaItemSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.expedicao_pedido_venda_itens_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: pedidoVendaItemSearchTotalRecords}\">\n </s-lookup>\n </div>\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"quantidade\">Quantidade</label>\n <input type=\"number\" pInputText formControlName=\"quantidade\">\n </div>\n </div>\n </div>\n </form>\n\n <p-footer>\n <s-button [label]=\"'select' | translate\" (onClick)=\"selecionarPedidoVendaItem()\"></s-button>\n </p-footer>\n </p-dialog>\n</div>",
6791
6826
  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}"]
6792
6827
  }),
6793
6828
  __metadata("design:paramtypes", [ExpedicaoService,
@@ -6805,7 +6840,8 @@
6805
6840
  PedidoVendaService,
6806
6841
  PedidoVendaItemService,
6807
6842
  AgendaService,
6808
- ExpedicaoChegadaVeiculoOverride])
6843
+ ExpedicaoChegadaVeiculoOverride,
6844
+ api.ConfirmationService])
6809
6845
  ], ExpedicaoFormComponent);
6810
6846
  return ExpedicaoFormComponent;
6811
6847
  }());
@@ -7088,21 +7124,26 @@
7088
7124
  }());
7089
7125
 
7090
7126
  var ProcessoAvulsoFormComponent = /** @class */ (function () {
7091
- function ProcessoAvulsoFormComponent(fb, route, filialService, processoAvulsoService, messageService, processoAvulsoOverride, translate) {
7127
+ function ProcessoAvulsoFormComponent(fb, router, route, filialService, processoAvulsoService, messageService, processoAvulsoOverride, translate, confirmationService, agendaService) {
7092
7128
  this.fb = fb;
7129
+ this.router = router;
7093
7130
  this.route = route;
7094
7131
  this.filialService = filialService;
7095
7132
  this.processoAvulsoService = processoAvulsoService;
7096
7133
  this.messageService = messageService;
7097
7134
  this.processoAvulsoOverride = processoAvulsoOverride;
7098
7135
  this.translate = translate;
7136
+ this.confirmationService = confirmationService;
7137
+ this.agendaService = agendaService;
7099
7138
  this.loading = false;
7100
7139
  this.filialLookupDisplayFields = ["codigo", "nome", "empresa.nome"];
7101
7140
  this.filialAdvancedDisplayFields = ["id", "codigo", "nome", "empresa.nome"];
7102
7141
  this.filialLookupSeparator = " - ";
7103
- this.unsubscribe$ = new rxjs.Subject();
7142
+ this.ngUnsubscribe = new rxjs.Subject();
7143
+ this.isFormModified = false;
7104
7144
  }
7105
7145
  ProcessoAvulsoFormComponent.prototype.ngOnInit = function () {
7146
+ var _this = this;
7106
7147
  this.formGroup = this.fb.group({
7107
7148
  id: [undefined],
7108
7149
  filial: [undefined, forms.Validators.required],
@@ -7112,27 +7153,76 @@
7112
7153
  this.filialSearchGridFields = this.getFilialSearchGridFields();
7113
7154
  this.getProcessoAvulso();
7114
7155
  this.processoAvulsoOverride.initialize();
7156
+ var rs = new rxjs.ReplaySubject();
7157
+ rs.subscribe(function (isIntact) { return (_this.isFormModified = !isIntact); });
7158
+ this.formIntactChecker = new FormIntactChecker(this.formGroup, rs);
7115
7159
  };
7116
7160
  ProcessoAvulsoFormComponent.prototype.ngAfterViewInit = function () {
7117
7161
  this.saveAndInitButton = document.getElementById('init');
7118
7162
  };
7119
7163
  ProcessoAvulsoFormComponent.prototype.ngOnDestroy = function () {
7120
- this.unsubscribe$.next();
7121
- this.unsubscribe$.complete();
7164
+ this.ngUnsubscribe.next();
7165
+ this.ngUnsubscribe.complete();
7122
7166
  this.processoAvulsoOverride.remove();
7123
7167
  };
7124
7168
  ProcessoAvulsoFormComponent.prototype.onSave = function (start) {
7125
7169
  var _this = this;
7126
- this.loading = true;
7127
- if (this.formGroup.invalid)
7170
+ if (this.formGroup.invalid) {
7128
7171
  return this.validateAllFormFields(this.formGroup);
7172
+ }
7173
+ this.loading = true;
7174
+ if (this.isFormModified) {
7175
+ this.agendaService
7176
+ .retornaModelosValidacao(this.agenda.tipoAgendamento.id)
7177
+ .pipe(operators.takeUntil(this.ngUnsubscribe), operators.finalize(function () { return _this.loading = false; }))
7178
+ .subscribe(function (response) {
7179
+ if (response.tiposModeloValidacao.length > 0) {
7180
+ _this.atualizaAgendaParaRejeitadoPorValidacao();
7181
+ }
7182
+ else {
7183
+ _this.saveAndInit(start);
7184
+ }
7185
+ });
7186
+ }
7187
+ else {
7188
+ this.saveAndInit(start);
7189
+ }
7190
+ };
7191
+ ProcessoAvulsoFormComponent.prototype.atualizaAgendaParaRejeitadoPorValidacao = function () {
7192
+ var _this = this;
7193
+ this.confirmationService.confirm({
7194
+ header: this.translate.instant("yms.patio.agenda_revalidacao_title"),
7195
+ message: this.translate.instant("yms.patio.agenda_revalidacao_message"),
7196
+ accept: function () {
7197
+ _this.agenda.status = StatusAgenda.REJEITADO_POR_VALIDACAO;
7198
+ _this.agendaService
7199
+ .atualizarAgenda(_this.agenda)
7200
+ .pipe(operators.takeUntil(_this.ngUnsubscribe), operators.concatMap(function (_) { return _this.getSaveObservable(); }), operators.finalize(function () { return _this.loading = false; }))
7201
+ .subscribe(function (_) {
7202
+ _this.successMessage();
7203
+ _this.router.navigate(["/chegada-veiculo"], { relativeTo: _this.route });
7204
+ });
7205
+ },
7206
+ reject: function () { return _this.loading = false; },
7207
+ });
7208
+ };
7209
+ ProcessoAvulsoFormComponent.prototype.saveAndInit = function (start) {
7210
+ var _this = this;
7129
7211
  this.getSaveObservable()
7130
- .pipe(operators.takeUntil(this.unsubscribe$), operators.finalize(function () { return _this.loading = false; }))
7212
+ .pipe(operators.takeUntil(this.ngUnsubscribe), operators.finalize(function () { return _this.loading = false; }))
7131
7213
  .subscribe(function (response) {
7132
7214
  _this.formGroup.patchValue(__assign({}, ProcessoAvulso.fromDto(response)));
7133
- _this.addMessage("success", "saved_message_title", "saved_message_content");
7134
- if (start && _this.saveAndInitButton)
7215
+ _this.successMessage();
7216
+ if (start && _this.saveAndInitButton) {
7135
7217
  _this.saveAndInitButton.click();
7218
+ }
7219
+ });
7220
+ };
7221
+ ProcessoAvulsoFormComponent.prototype.successMessage = function () {
7222
+ this.messageService.add({
7223
+ severity: "success",
7224
+ summary: this.translate.instant("saved_message_title"),
7225
+ detail: this.translate.instant("saved_message_content"),
7136
7226
  });
7137
7227
  };
7138
7228
  ProcessoAvulsoFormComponent.prototype.onFilialLookupRequest = function (value) {
@@ -7152,7 +7242,7 @@
7152
7242
  }, { cnpjs: this.agenda.planta.cnpj, pagina: { limit: 10, offset: 0 } });
7153
7243
  this.filialService
7154
7244
  .listFiliais(filterInput)
7155
- .pipe(operators.takeUntil(this.unsubscribe$))
7245
+ .pipe(operators.takeUntil(this.ngUnsubscribe))
7156
7246
  .subscribe(function (list) {
7157
7247
  return _this.filialLookupSuggestions = list.filiais.map(function (filial) { return Filial.fromDto(filial); });
7158
7248
  });
@@ -7179,7 +7269,7 @@
7179
7269
  }, { cnpjs: this.agenda.planta.cnpj, pagina: { limit: rows, offset: page, listaOrdenacao: sortFormatted ? [__assign({}, (sortFormatted))] : null } });
7180
7270
  this.filialService
7181
7271
  .listFiliais(filterInput)
7182
- .pipe(operators.takeUntil(this.unsubscribe$))
7272
+ .pipe(operators.takeUntil(this.ngUnsubscribe))
7183
7273
  .subscribe(function (list) {
7184
7274
  _this.filialSearchGridData = list.filiais.map(Filial.fromDto);
7185
7275
  _this.filialSearchTotalRecords = list.qtdTotalRegistros;
@@ -7213,7 +7303,7 @@
7213
7303
  size: 1,
7214
7304
  page: 0
7215
7305
  })
7216
- .pipe(operators.takeUntil(this.unsubscribe$))
7306
+ .pipe(operators.takeUntil(this.ngUnsubscribe))
7217
7307
  .subscribe(function (_a) {
7218
7308
  var contents = _a.contents;
7219
7309
  if (!contents || contents.length <= 0)
@@ -7273,7 +7363,7 @@
7273
7363
  filterQuery: "pessoa.cpfCnpj eq '" + planta.cnpj[0] + "'",
7274
7364
  displayFields: ['*', 'empresa.nome']
7275
7365
  })
7276
- .pipe(operators.takeUntil(this.unsubscribe$))
7366
+ .pipe(operators.takeUntil(this.ngUnsubscribe))
7277
7367
  .subscribe(function (_a) {
7278
7368
  var contents = _a.contents;
7279
7369
  if (contents.length === 1) {
@@ -7288,15 +7378,18 @@
7288
7378
  ProcessoAvulsoFormComponent = __decorate([
7289
7379
  core.Component({
7290
7380
  selector: 'processo-avulso-form',
7291
- template: "<div *sLoadingState=\"loading\">\n <form [formGroup]=\"formGroup\">\n <div class=\"ui-g ui-fluid\">\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 </div>\n </form>\n\n <div style=\"margin: 5px 0 5px 0;\">\n <s-button priority=\"primary\" [label]=\"'save' | translate\" (onClick)=\"onSave()\"\n [disabled]=\"loading\"></s-button>\n <s-button *ngIf=\"saveAndInitButton\" priority=\"primary\" [label]=\"'save_and_init' | translate\"\n (onClick)=\"onSave(true)\" [disabled]=\"loading\"></s-button>\n </div>\n</div>"
7381
+ 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-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 </div>\n </form>\n\n <div style=\"margin: 5px 0 5px 0;\">\n <s-button priority=\"primary\" [label]=\"'save' | translate\" (onClick)=\"onSave()\"\n [disabled]=\"loading\"></s-button>\n <s-button *ngIf=\"saveAndInitButton\" priority=\"primary\" [label]=\"'save_and_init' | translate\"\n (onClick)=\"onSave(true)\" [disabled]=\"loading\"></s-button>\n </div>\n</div>"
7292
7382
  }),
7293
7383
  __metadata("design:paramtypes", [forms.FormBuilder,
7384
+ router.Router,
7294
7385
  router.ActivatedRoute,
7295
7386
  FilialService,
7296
7387
  ProcessoAvulsoService,
7297
7388
  api.MessageService,
7298
7389
  ProcessoAvulsoChegadaVeiculoOverride,
7299
- core$1.TranslateService])
7390
+ core$1.TranslateService,
7391
+ api.ConfirmationService,
7392
+ AgendaService])
7300
7393
  ], ProcessoAvulsoFormComponent);
7301
7394
  return ProcessoAvulsoFormComponent;
7302
7395
  }());
@@ -7488,15 +7581,6 @@
7488
7581
  return RecebimentoOrdemCompraChegadaVeiculoOverride;
7489
7582
  }());
7490
7583
 
7491
- var StatusAgenda;
7492
- (function (StatusAgenda) {
7493
- StatusAgenda["AGUARDANDO_CONFIRMACAO"] = "AGUARDANDO_CONFIRMACAO_SOLICITANTE";
7494
- StatusAgenda["AGENDADO"] = "AGENDADO";
7495
- StatusAgenda["AGUARDANDO_CONFIRMACAO_SOLICITANTE"] = "AGUARDANDO_CONFIRMACAO";
7496
- StatusAgenda["REJEITADO_POR_VALIDACAO"] = "REJEITADO_POR_VALIDACAO";
7497
- StatusAgenda["CANCELADO"] = "CANCELADO";
7498
- })(StatusAgenda || (StatusAgenda = {}));
7499
-
7500
7584
  var RecebimentoOrdemCompraFormComponent = /** @class */ (function () {
7501
7585
  function RecebimentoOrdemCompraFormComponent(formBuilder, translate, filialService, pessoaService, produtoService, derivacaoService, transportadoraService, ordemCompraService, recebimentoOrdemCompraService, messageService, route, router, origemMercadoriaService, safraService, override, notaValidatorService, confirmationService, dialogService, agendaService) {
7502
7586
  var _this = this;
@@ -7553,6 +7637,7 @@
7553
7637
  this.fornecedorNotas = [];
7554
7638
  this.ordemCompraSelecionado = null;
7555
7639
  this.ngUnsubscribe = new rxjs.Subject();
7640
+ this.isFormModified = false;
7556
7641
  /**PRODUTO DEPENDE DE FILIAL. ORDEM COMPRA DEPENDE DE FILIAL */
7557
7642
  this.onFilialValueChange = function (filial, formGroup) {
7558
7643
  _this.changeFormGroupValue(filial, "produto", formGroup);
@@ -7601,6 +7686,9 @@
7601
7686
  this.disableButtonSave = true;
7602
7687
  }
7603
7688
  this.createdByErpDisableForm();
7689
+ var rs = new rxjs.ReplaySubject();
7690
+ rs.subscribe(function (isIntact) { return (_this.isFormModified = !isIntact); });
7691
+ this.formIntactChecker = new FormIntactChecker(this.formGroup, rs);
7604
7692
  };
7605
7693
  RecebimentoOrdemCompraFormComponent.prototype.ngAfterViewInit = function () {
7606
7694
  this.override.initialize();
@@ -8008,16 +8096,60 @@
8008
8096
  return;
8009
8097
  }
8010
8098
  this.loading = true;
8011
- return this.getSaveObservable()
8099
+ if (this.isFormModified) {
8100
+ this.agendaService
8101
+ .retornaModelosValidacao(this.agenda.tipoAgendamento.id)
8102
+ .pipe(operators.takeUntil(this.ngUnsubscribe), operators.finalize(function () { return _this.loading = false; }))
8103
+ .subscribe(function (response) {
8104
+ if (response.tiposModeloValidacao.length > 0) {
8105
+ _this.atualizaAgendaParaRejeitadoPorValidacao();
8106
+ }
8107
+ else {
8108
+ _this.saveAndInit(start);
8109
+ }
8110
+ });
8111
+ }
8112
+ else {
8113
+ this.saveAndInit(start);
8114
+ }
8115
+ };
8116
+ RecebimentoOrdemCompraFormComponent.prototype.atualizaAgendaParaRejeitadoPorValidacao = function () {
8117
+ var _this = this;
8118
+ this.confirmationService.confirm({
8119
+ header: this.translate.instant("yms.patio.agenda_revalidacao_title"),
8120
+ message: this.translate.instant("yms.patio.agenda_revalidacao_message"),
8121
+ accept: function () {
8122
+ _this.agenda.status = StatusAgenda.REJEITADO_POR_VALIDACAO;
8123
+ _this.agendaService
8124
+ .atualizarAgenda(_this.agenda)
8125
+ .pipe(operators.takeUntil(_this.ngUnsubscribe), operators.concatMap(function (_) { return _this.getSaveObservable(); }), operators.finalize(function () { return _this.loading = false; }))
8126
+ .subscribe(function (_) {
8127
+ _this.successMessage();
8128
+ _this.router.navigate(["/chegada-veiculo"], { relativeTo: _this.route });
8129
+ });
8130
+ },
8131
+ reject: function () { return _this.loading = false; },
8132
+ });
8133
+ };
8134
+ RecebimentoOrdemCompraFormComponent.prototype.saveAndInit = function (start) {
8135
+ var _this = this;
8136
+ this.getSaveObservable()
8012
8137
  .pipe(operators.takeUntil(this.ngUnsubscribe), operators.finalize(function () { return _this.loading = false; }))
8013
8138
  .subscribe(function (value) {
8014
8139
  _this.formGroup.get("id").setValue(value.id || null);
8015
- _this.addMessage("success", "saved_message_title", "saved_message_content");
8140
+ _this.successMessage();
8016
8141
  if (start && _this.saveAndInitButton) {
8017
8142
  _this.saveAndInitButton.click();
8018
8143
  }
8019
8144
  });
8020
8145
  };
8146
+ RecebimentoOrdemCompraFormComponent.prototype.successMessage = function () {
8147
+ this.messageService.add({
8148
+ severity: "success",
8149
+ summary: this.translate.instant("saved_message_title"),
8150
+ detail: this.translate.instant("saved_message_content"),
8151
+ });
8152
+ };
8021
8153
  RecebimentoOrdemCompraFormComponent.prototype.isNew = function () {
8022
8154
  return !this.formGroup.value.id;
8023
8155
  };
@@ -8982,6 +9114,35 @@
8982
9114
  return ContratoFormComponent;
8983
9115
  }());
8984
9116
 
9117
+ var Transgenia = /** @class */ (function () {
9118
+ function Transgenia() {
9119
+ }
9120
+ Transgenia.fromDto = function (transgeniaDto, originEntity) {
9121
+ var model = __assign({}, transgeniaDto);
9122
+ var lookupSeparator = " - ";
9123
+ var displayFields = [
9124
+ "codigo",
9125
+ "descricao",
9126
+ ];
9127
+ model.label = getLookupLabel(model, displayFields, lookupSeparator);
9128
+ if (originEntity !== "Empresa" && model.empresa)
9129
+ model.empresa = Empresa.fromDto(model.empresa, "Transgenia");
9130
+ if (originEntity !== "Royalty" && model.royalty)
9131
+ model.royalty = Royalty.fromDto(model.royalty, "Royalty");
9132
+ return model;
9133
+ };
9134
+ Transgenia.toDto = function (transgenia, originEntity) {
9135
+ var dto = __assign({}, transgenia);
9136
+ delete dto.label;
9137
+ if (originEntity !== "Empresa" && dto.empresa)
9138
+ dto.empresa = Empresa.toDto(dto.empresa, "Transgenia");
9139
+ if (originEntity !== "Royalty" && dto.royalty)
9140
+ dto.roylty = Royalty.toDto(dto.royalty, "Transgenia");
9141
+ return dto;
9142
+ };
9143
+ return Transgenia;
9144
+ }());
9145
+
8985
9146
  var moment$q = _moment;
8986
9147
  /*{CA:PROJECT_IMPORTS:START}*/
8987
9148
  /*{CA:PROJECT_IMPORTS:END}*/
@@ -9013,6 +9174,9 @@
9013
9174
  "transportadora.id",
9014
9175
  "transportadora.codigo",
9015
9176
  "transportadora.placaVeiculo",
9177
+ "transgenia.id",
9178
+ "transgenia.codigo",
9179
+ "transgenia.descricao",
9016
9180
  "tipoNotaFiscal",
9017
9181
  "createdBy",
9018
9182
  "createdDate",
@@ -9032,6 +9196,8 @@
9032
9196
  model.derivacao = Derivacao.fromDto(model.derivacao, "Recebimento");
9033
9197
  if ((originEntity !== "Transportadora" && model.transportadora))
9034
9198
  model.transportadora = Transportadora.fromDto(model.transportadora, "Recebimento");
9199
+ if ((originEntity !== "Transgenia" && model.transgenia))
9200
+ model.transgenia = Transgenia.fromDto(model.transgenia, "Transgenia");
9035
9201
  model.fornecedores = model.fornecedores.map(function (fornecedor) { return (__assign({}, fornecedor, { fornecedor: Pessoa.fromDto(fornecedor.fornecedor, "Recebimento"), origemMercadoria: PessoaEndereco.fromDto(fornecedor.origemMercadoria, "Recebimento"), contratos: fornecedor.contratos.map(function (contrato) { return (__assign({}, contrato, { contrato: ContratoCompra.fromDto(contrato.contrato), itens: contrato.itens.map(function (item) { return (__assign({}, item, { item: ContratoCompraItem.fromDto(item.item) })); }) })); }) })); });
9036
9202
  return model;
9037
9203
  };
@@ -9052,6 +9218,8 @@
9052
9218
  dto.origemMercadoria = PessoaEndereco.toDto(dto.origemMercadoria, "Recebimento");
9053
9219
  if ((originEntity !== "Transportadora" && dto.transportadora))
9054
9220
  dto.transportadora = Transportadora.toDto(dto.transportadora, "Recebimento");
9221
+ if ((originEntity !== "Transgenia" && dto.transgenia))
9222
+ dto.transgenia = Transgenia.toDto(dto.transgenia, "Transgenia");
9055
9223
  dto.fornecedores = recebimento.fornecedores.map(function (fornecedor) { return (__assign({}, fornecedor, { fornecedor: Pessoa.toDto(fornecedor.fornecedor, "Recebimento"), origemMercadoria: PessoaEndereco.toDto(fornecedor.origemMercadoria, "Recebimento"), contratos: fornecedor.contratos.map(function (contrato) { return (__assign({}, contrato, { contrato: ContratoCompra.toDto(contrato.contrato), itens: contrato.itens.map(function (item) { return (__assign({}, item, { item: ContratoCompraItem.toDto(item.item) })); }) })); }) })); });
9056
9224
  return dto;
9057
9225
  };
@@ -9145,6 +9313,7 @@
9145
9313
  this.fornecedorNotas = [];
9146
9314
  this.contratoSelecionado = null;
9147
9315
  this.ngUnsubscribe = new rxjs.Subject();
9316
+ this.isFormModified = false;
9148
9317
  this.getTipoTransgenia = function () {
9149
9318
  if (_this.formGroup.get("fornecedores").length <= 0) {
9150
9319
  return TipoParticipanteTransgenia.NAO_INFORMADO;
@@ -9230,12 +9399,21 @@
9230
9399
  this.setTransportadora(this.agenda.externalTenant.cnpj);
9231
9400
  }
9232
9401
  this.totalEixosComposicao = this.agenda && this.agenda.veiculo ? this.agenda.veiculo.eixos || 0 : 0;
9233
- var statusAgenda = ["AGUARDANDO_CONFIRMACAO_SOLICITANTE", "AGENDADO", "AGUARDANDO_CONFIRMACAO", "EM_EXECUCAO", "REJEITADO_POR_VALIDACAO"];
9402
+ var statusAgenda = [
9403
+ "AGUARDANDO_CONFIRMACAO_SOLICITANTE",
9404
+ "AGENDADO",
9405
+ "AGUARDANDO_CONFIRMACAO",
9406
+ "EM_EXECUCAO",
9407
+ "REJEITADO_POR_VALIDACAO",
9408
+ ];
9234
9409
  if (this.agenda && !statusAgenda.includes(this.agenda.status)) {
9235
9410
  this.formGroup.disable();
9236
9411
  this.disableButtonSave = true;
9237
9412
  }
9238
9413
  this.createdByErpDisableForm();
9414
+ var rs = new rxjs.ReplaySubject();
9415
+ rs.subscribe(function (isIntact) { return (_this.isFormModified = !isIntact); });
9416
+ this.formIntactChecker = new FormIntactChecker(this.formGroup, rs);
9239
9417
  };
9240
9418
  RecebimentoFormComponent.prototype.ngAfterViewInit = function () {
9241
9419
  var inputList = document.getElementsByTagName("input");
@@ -9345,7 +9523,7 @@
9345
9523
  };
9346
9524
  this.permissions = data.allPermissions.recebimento;
9347
9525
  this.allPermissions = data.allPermissions;
9348
- this.validateVisualization();
9526
+ //this.validateVisualization();
9349
9527
  if (data.entity) {
9350
9528
  var canEdit = this.permissions.editar;
9351
9529
  if (!canEdit)
@@ -9387,16 +9565,60 @@
9387
9565
  return this.validateAllFormFields(this.formGroup);
9388
9566
  }
9389
9567
  this.loading = true;
9390
- return this.getSaveObservable()
9568
+ if (this.isFormModified) {
9569
+ return this.agendaService
9570
+ .retornaModelosValidacao(this.agenda.tipoAgendamento.id)
9571
+ .pipe(operators.takeUntil(this.ngUnsubscribe), operators.finalize(function () { return _this.loading = false; }))
9572
+ .subscribe(function (response) {
9573
+ if (response.tiposModeloValidacao.length > 0) {
9574
+ return _this.atualizaAgendaParaRejeitadoPorValidacao();
9575
+ }
9576
+ else {
9577
+ return _this.saveAndInit(start);
9578
+ }
9579
+ });
9580
+ }
9581
+ else {
9582
+ return this.saveAndInit(start);
9583
+ }
9584
+ };
9585
+ RecebimentoFormComponent.prototype.atualizaAgendaParaRejeitadoPorValidacao = function () {
9586
+ var _this = this;
9587
+ this.confirmationService.confirm({
9588
+ header: this.translate.instant("yms.patio.agenda_revalidacao_title"),
9589
+ message: this.translate.instant("yms.patio.agenda_revalidacao_message"),
9590
+ accept: function () {
9591
+ _this.agenda.status = StatusAgenda.REJEITADO_POR_VALIDACAO;
9592
+ _this.agendaService
9593
+ .atualizarAgenda(_this.agenda)
9594
+ .pipe(operators.takeUntil(_this.ngUnsubscribe), operators.concatMap(function (_) { return _this.getSaveObservable(); }), operators.finalize(function () { return _this.loading = false; }))
9595
+ .subscribe(function (_) {
9596
+ _this.successMessage();
9597
+ _this.router.navigate(["/chegada-veiculo"], { relativeTo: _this.route });
9598
+ });
9599
+ },
9600
+ reject: function () { return _this.loading = false; },
9601
+ });
9602
+ };
9603
+ RecebimentoFormComponent.prototype.saveAndInit = function (start) {
9604
+ var _this = this;
9605
+ this.getSaveObservable()
9391
9606
  .pipe(operators.takeUntil(this.ngUnsubscribe), operators.finalize(function () { return _this.loading = false; }))
9392
9607
  .subscribe(function (value) {
9393
9608
  _this.formGroup.get("id").setValue(value.id || null);
9394
- _this.addMessage("success", "saved_message_title", "saved_message_content");
9609
+ _this.successMessage();
9395
9610
  if (start && _this.saveAndInitButton) {
9396
9611
  _this.saveAndInitButton.click();
9397
9612
  }
9398
9613
  });
9399
9614
  };
9615
+ RecebimentoFormComponent.prototype.successMessage = function () {
9616
+ this.messageService.add({
9617
+ severity: "success",
9618
+ summary: this.translate.instant("saved_message_title"),
9619
+ detail: this.translate.instant("saved_message_content"),
9620
+ });
9621
+ };
9400
9622
  RecebimentoFormComponent.prototype.onDelete = function () {
9401
9623
  var _this = this;
9402
9624
  this.confirmationService.confirm({
@@ -10665,7 +10887,7 @@
10665
10887
  RecebimentoFormComponent = __decorate([
10666
10888
  core.Component({
10667
10889
  selector: 'recebimento-form',
10668
- template: "<p-confirmDialog [acceptLabel]=\"'yes' | translate\" acceptIcon=\"\" [rejectLabel]=\"'no' | translate\" rejectIcon=\"\"></p-confirmDialog>\n<div *sLoadingState=\"loading\">\n <form [formGroup]=\"formGroup\" novalidate>\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 [(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\">Serie nota fiscal</span>\n <span class=\"data\">{{nota.value?.serieNotaFiscal}}</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>",
10890
+ 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 [(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\">Serie nota fiscal</span>\n <span class=\"data\">{{nota.value?.serieNotaFiscal}}</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>",
10669
10891
  providers: [
10670
10892
  api.ConfirmationService,
10671
10893
  ],