瀏覽代碼

add the new input names and change functions

gdias 3 月之前
父節點
當前提交
eab3c92084
共有 1 個文件被更改,包括 442 次插入159 次删除
  1. 442 159
      src/routes/formcpr/+page.svelte

+ 442 - 159
src/routes/formcpr/+page.svelte

@@ -181,8 +181,317 @@
       }
     };
   
+    // Variáveis planas: Instrument
+    let instrument_cprTypeCode = '';
+    let instrument_otcRegisterAccountCode = '';
+    let instrument_otcPaymentAgentAccountCode = '';
+    let instrument_otcCustodianAccountCode = '';
+    let instrument_internalControlNumber = '';
+    let instrument_electronicEmissionIndicator = '';
+    let instrument_isinCode = '';
+    let instrument_issueDate = '';
+    let instrument_maturityDate = '';
+    let instrument_issueQuantity = '';
+    let instrument_issueValue = '';
+    let instrument_issueFinancialValue = '';
+    let instrument_unitValue = '';
+    let instrument_referenceDate = '';
+    let instrument_profitabilityStartDate = '';
+    let instrument_automaticExpirationIndicator = '';
+
+    // Variáveis planas: Collateral (item único)
+    let coll_collateralTypeCode = '';
+    let coll_collateralTypeName = '';
+    let coll_constitutionProcessIndicator = '';
+    let coll_otcBondsmanAccountCode = '';
+    let coll_documentNumber = '';
+
+    // Variáveis planas: Product (item único)
+    let prod_cprProductName = '';
+    let prod_cprProductClassName = '';
+    let prod_cprProductHarvest = '';
+    let prod_cprProductDescription = '';
+    let prod_cprProductQuantity = '';
+    let prod_measureUnitName = '';
+    let prod_packagingWayName = '';
+    let prod_cprProductStatusCode = '';
+    let prod_productionTypeCode = '';
+
+    // Variáveis planas: Issuer (item único)
+    let issuer_cprIssuerName = '';
+    let issuer_documentNumber = '';
+    let issuer_personTypeAcronym = '';
+    let issuer_stateAcronym = '';
+    let issuer_cityName = '';
+    let issuer_ibgeCode = '';
+    let issuer_issuerLegalNatureCode = '';
+
+    // Variáveis planas: Deposit
+    let dep_otcFavoredAccountCode = '';
+    let dep_documentNumber = '';
+    let dep_personTypeAcronym = '';
+    let dep_selfNumber = '';
+    let dep_settlementModalityTypeCode = '';
+    let dep_otcSettlementBankAccountCode = '';
+    let dep_depositQuantity = '';
+    let dep_depositUnitPriceValue = '';
+
+    // Variáveis planas: Payment Method
+    let pay_paymentMethodCode = '';
+    let pay_indexCode = '';
+    let pay_indexShortName = '';
+    let pay_vcpIndicatorTypeCode = '';
+    let pay_indexadorPercentageValue = '';
+    let pay_interestRateSpreadPercentage = '';
+    let pay_interestRateCriteriaTypeCode = '';
+    let pay_interestPaymentDate = '';
+    let pay_interestPaymentValue = '';
+
+    // Variáveis planas: Interest Payment Flow
+    let ipf_interestPaymentFrequencyCode = '';
+    let ipf_interestMonthsQuantity = '';
+    let ipf_timeUnitTypeCode = '';
+    let ipf_deadlineTypeCode = '';
+    let ipf_paymentStartDate = '';
+
+    // Variáveis planas: Amortization Payment Flow
+    let apf_amortizationTypeCode = '';
+    let apf_amortizationMonthsQuantity = '';
+    let apf_timeUnitTypeCode = '';
+    let apf_deadlineTypeCode = '';
+    let apf_amortizationStartDate = '';
+
+    // Variáveis planas: SCR
+    let scr_scrTypeCode = '';
+    let scr_scrCustomerDetail = '';
+    let scr_personTypeAcronym = '';
+    let scr_documentNumber = '';
+    let scr_contractCode = '';
+    let scr_operationModalityTypeCode = '';
+    let scr_bacenReferenceCode = '';
+    let scr_finalityCode = '';
+    let scr_ipocCode = '';
+
+    // Variáveis planas: Dólar/Euro Profitability
+    let de_calculationTypeCode = '';
+    let de_initialExchangeValue = '';
+    let de_fixingTypeCode = '';
+    let de_dataSourceTypeCode = '';
+
+    // Variáveis planas: IGPM/IPCA Profitability
+    let ig_adjustmentFrequencyTypeCode = '';
+    let ig_adjustmentProRataTypeCode = '';
+    let ig_adjustmentTypeCode = '';
+
+    // Variáveis planas: Creditor
+    let creditor_creditorName = '';
+    let creditor_documentNumber = '';
+
+    // Variáveis planas: Ballast
+    let ballast_ballastTypeCode = '';
+    let ballast_lotNumber = '';
+    let ballast_ballastQuantity = '';
+    let ballast_currencyCode = '';
+    let ballast_transactionIdentification = '';
+    let ballast_additionalText = '';
+
+    // Variáveis planas: Register Office
+    let register_cprNumber = '';
+    let register_cprContractNumber = '';
+
+    // Variáveis planas: Event (item único)
+    let ev_eventTypeCode = '';
+    let ev_eventOriginalDate = '';
+    let ev_unitPriceValue = '';
+    let ev_interestUnitPriceValue = '';
+    let ev_residualValue = '';
+    let ev_amortizationPercentage = '';
+    let ev_eventQuantity = '';
+
+    // Variáveis planas: Production Place (item único)
+    let pl_productionPlaceName = '';
+    let pl_propertyRegistrationNumber = '';
+    let pl_notaryName = '';
+    let pl_totalProductionAreaInHectaresNumber = '';
+    let pl_totalAreaInHectaresNumber = '';
+    let pl_carCode = '';
+    let pl_latitudeCode = '';
+    let pl_longitudeCode = '';
+    let pl_zipCode = '';
+
+    // Variáveis planas: Green CPR
+    let green_greenCprIndicator = '';
+    let green_greenCprCertificateName = '';
+    let green_greenCprCertificateCnpjNumber = '';
+    let green_greenCprGeoreferencingDescription = '';
+    let green_greenCprDeclarationIndicator = '';
+
+    // DeliveryPlace via textarea (independente do objeto form)
+    let deliveryPlaceDraft = '';
+    $: deliveryPlaceObject = (() => { try { return JSON.parse(deliveryPlaceDraft || '{}'); } catch { return {}; } })();
+
     // Derivados para preview e copiar
-    $: payload = { data: form };
+    $: payload = {
+      data: {
+        instrument: {
+          cprTypeCode: instrument_cprTypeCode,
+          otcRegisterAccountCode: instrument_otcRegisterAccountCode,
+          otcPaymentAgentAccountCode: instrument_otcPaymentAgentAccountCode,
+          otcCustodianAccountCode: instrument_otcCustodianAccountCode,
+          internalControlNumber: instrument_internalControlNumber,
+          electronicEmissionIndicator: instrument_electronicEmissionIndicator,
+          isinCode: instrument_isinCode,
+          issueDate: instrument_issueDate,
+          maturityDate: instrument_maturityDate,
+          issueQuantity: instrument_issueQuantity,
+          issueValue: instrument_issueValue,
+          issueFinancialValue: instrument_issueFinancialValue,
+          unitValue: instrument_unitValue,
+          referenceDate: instrument_referenceDate,
+          profitabilityStartDate: instrument_profitabilityStartDate,
+          automaticExpirationIndicator: instrument_automaticExpirationIndicator,
+
+          collaterals: [
+            {
+              collateralTypeCode: coll_collateralTypeCode,
+              collateralTypeName: coll_collateralTypeName,
+              constitutionProcessIndicator: coll_constitutionProcessIndicator,
+              otcBondsmanAccountCode: coll_otcBondsmanAccountCode,
+              documentNumber: coll_documentNumber
+            }
+          ],
+          products: [
+            {
+              cprProductName: prod_cprProductName,
+              cprProductClassName: prod_cprProductClassName,
+              cprProductHarvest: prod_cprProductHarvest,
+              cprProductDescription: prod_cprProductDescription,
+              cprProductQuantity: prod_cprProductQuantity,
+              measureUnitName: prod_measureUnitName,
+              packagingWayName: prod_packagingWayName,
+              cprProductStatusCode: prod_cprProductStatusCode,
+              productionTypeCode: prod_productionTypeCode
+            }
+          ],
+          issuers: [
+            {
+              cprIssuerName: issuer_cprIssuerName,
+              documentNumber: issuer_documentNumber,
+              personTypeAcronym: issuer_personTypeAcronym,
+              stateAcronym: issuer_stateAcronym,
+              cityName: issuer_cityName,
+              ibgeCode: issuer_ibgeCode,
+              issuerLegalNatureCode: issuer_issuerLegalNatureCode
+            }
+          ],
+          deposit: {
+            otcFavoredAccountCode: dep_otcFavoredAccountCode,
+            documentNumber: dep_documentNumber,
+            personTypeAcronym: dep_personTypeAcronym,
+            selfNumber: dep_selfNumber,
+            settlementModalityTypeCode: dep_settlementModalityTypeCode,
+            otcSettlementBankAccountCode: dep_otcSettlementBankAccountCode,
+            depositQuantity: dep_depositQuantity,
+            depositUnitPriceValue: dep_depositUnitPriceValue
+          },
+          paymentMethod: {
+            paymentMethodCode: pay_paymentMethodCode,
+            indexCode: pay_indexCode,
+            indexShortName: pay_indexShortName,
+            vcpIndicatorTypeCode: pay_vcpIndicatorTypeCode,
+            indexadorPercentageValue: pay_indexadorPercentageValue,
+            interestRateSpreadPercentage: pay_interestRateSpreadPercentage,
+            interestRateCriteriaTypeCode: pay_interestRateCriteriaTypeCode,
+            interestPaymentDate: pay_interestPaymentDate,
+            interestPaymentValue: pay_interestPaymentValue
+          },
+          interestPaymentFlow: {
+            interestPaymentFrequencyCode: ipf_interestPaymentFrequencyCode,
+            interestMonthsQuantity: ipf_interestMonthsQuantity,
+            timeUnitTypeCode: ipf_timeUnitTypeCode,
+            deadlineTypeCode: ipf_deadlineTypeCode,
+            paymentStartDate: ipf_paymentStartDate
+          },
+          amortizationPaymentFlow: {
+            amortizationTypeCode: apf_amortizationTypeCode,
+            amortizationMonthsQuantity: apf_amortizationMonthsQuantity,
+            timeUnitTypeCode: apf_timeUnitTypeCode,
+            deadlineTypeCode: apf_deadlineTypeCode,
+            amortizationStartDate: apf_amortizationStartDate
+          },
+          scr: {
+            scrTypeCode: scr_scrTypeCode,
+            scrCustomerDetail: scr_scrCustomerDetail,
+            personTypeAcronym: scr_personTypeAcronym,
+            documentNumber: scr_documentNumber,
+            contractCode: scr_contractCode,
+            operationModalityTypeCode: scr_operationModalityTypeCode,
+            bacenReferenceCode: scr_bacenReferenceCode,
+            finalityCode: scr_finalityCode,
+            ipocCode: scr_ipocCode
+          },
+          dolarEuroProfitability: {
+            calculationTypeCode: de_calculationTypeCode,
+            initialExchangeValue: de_initialExchangeValue,
+            fixingTypeCode: de_fixingTypeCode,
+            dataSourceTypeCode: de_dataSourceTypeCode
+          },
+          igpmIpcaProfitability: {
+            adjustmentFrequencyTypeCode: ig_adjustmentFrequencyTypeCode,
+            adjustmentProRataTypeCode: ig_adjustmentProRataTypeCode,
+            adjustmentTypeCode: ig_adjustmentTypeCode
+          },
+          creditor: {
+            creditorName: creditor_creditorName,
+            documentNumber: creditor_documentNumber
+          },
+          ballast: {
+            ballastTypeCode: ballast_ballastTypeCode,
+            lotNumber: ballast_lotNumber,
+            ballastQuantity: ballast_ballastQuantity,
+            currencyCode: ballast_currencyCode,
+            transactionIdentification: ballast_transactionIdentification,
+            additionalText: ballast_additionalText
+          },
+          registerOffice: {
+            cprNumber: register_cprNumber,
+            cprContractNumber: register_cprContractNumber
+          },
+          events: [
+            {
+              eventTypeCode: ev_eventTypeCode,
+              eventOriginalDate: ev_eventOriginalDate,
+              unitPriceValue: ev_unitPriceValue,
+              interestUnitPriceValue: ev_interestUnitPriceValue,
+              residualValue: ev_residualValue,
+              amortizationPercentage: ev_amortizationPercentage,
+              eventQuantity: ev_eventQuantity
+            }
+          ],
+          productionPlaces: [
+            {
+              productionPlaceName: pl_productionPlaceName,
+              propertyRegistrationNumber: pl_propertyRegistrationNumber,
+              notaryName: pl_notaryName,
+              totalProductionAreaInHectaresNumber: pl_totalProductionAreaInHectaresNumber,
+              totalAreaInHectaresNumber: pl_totalAreaInHectaresNumber,
+              carCode: pl_carCode,
+              latitudeCode: pl_latitudeCode,
+              longitudeCode: pl_longitudeCode,
+              zipCode: pl_zipCode
+            }
+          ],
+          greenCpr: {
+            greenCprIndicator: green_greenCprIndicator,
+            greenCprCertificateName: green_greenCprCertificateName,
+            greenCprCertificateCnpjNumber: green_greenCprCertificateCnpjNumber,
+            greenCprGeoreferencingDescription: green_greenCprGeoreferencingDescription,
+            greenCprDeclarationIndicator: green_greenCprDeclarationIndicator
+          },
+          deliveryPlace: deliveryPlaceObject
+        }
+      }
+    };
     $: payloadString = JSON.stringify(payload, null, 2);
   
     let previewOpen = false;
@@ -198,18 +507,7 @@
       }
     }
   
-    // Atualiza deliveryPlace via JSON livre
-    let deliveryPlaceDraft = '';
-    $: deliveryPlaceDraft = JSON.stringify(form.instrument.deliveryPlace || {}, null, 2);
-  
-    function updateDeliveryPlaceFromDraft() {
-      try {
-        const parsed = JSON.parse(deliveryPlaceDraft || '{}');
-        form.instrument.deliveryPlace = parsed;
-      } catch (e) {
-        alert('JSON inválido em DeliveryPlace');
-      }
-    }
+    // deliveryPlaceDraft já definido acima; funções auxiliares não necessárias
   
     const inputCls =
       'w-full rounded-md border border-border1_contact/20 bg-border2_contact/5 p-3 text-tx_contact_form focus:outline-none focus:ring-2 focus:ring-blue-400';
@@ -297,22 +595,22 @@
       <div class={cardCls + ' mb-8'}>
         <h2 class="mb-4 text-xl font-bold">Instrumento</h2>
         <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
-          <div><label class="text-sm">cprTypeCode</label><input class={inputCls} bind:value={form.instrument.cprTypeCode} /></div>
-          <div><label class="text-sm">otcRegisterAccountCode</label><input class={inputCls} bind:value={form.instrument.otcRegisterAccountCode} /></div>
-          <div><label class="text-sm">otcPaymentAgentAccountCode</label><input class={inputCls} bind:value={form.instrument.otcPaymentAgentAccountCode} /></div>
-          <div><label class="text-sm">otcCustodianAccountCode</label><input class={inputCls} bind:value={form.instrument.otcCustodianAccountCode} /></div>
-          <div><label class="text-sm">internalControlNumber</label><input class={inputCls} bind:value={form.instrument.internalControlNumber} /></div>
-          <div><label class="text-sm">electronicEmissionIndicator (S/N)</label><input class={inputCls} bind:value={form.instrument.electronicEmissionIndicator} /></div>
-          <div><label class="text-sm">isinCode</label><input class={inputCls} bind:value={form.instrument.isinCode} /></div>
-          <div><label class="text-sm">issueDate (dd/MM/yyyy)</label><input class={inputCls} placeholder="dd/MM/aaaa" bind:value={form.instrument.issueDate} /></div>
-          <div><label class="text-sm">maturityDate (dd/MM/yyyy)</label><input class={inputCls} placeholder="dd/MM/aaaa" bind:value={form.instrument.maturityDate} /></div>
-          <div><label class="text-sm">issueQuantity</label><input class={inputCls} bind:value={form.instrument.issueQuantity} /></div>
-          <div><label class="text-sm">issueValue</label><input class={inputCls} bind:value={form.instrument.issueValue} /></div>
-          <div><label class="text-sm">issueFinancialValue</label><input class={inputCls} bind:value={form.instrument.issueFinancialValue} /></div>
-          <div><label class="text-sm">unitValue</label><input class={inputCls} bind:value={form.instrument.unitValue} /></div>
-          <div><label class="text-sm">referenceDate (dd/MM/yyyy)</label><input class={inputCls} placeholder="dd/MM/aaaa" bind:value={form.instrument.referenceDate} /></div>
-          <div><label class="text-sm">profitabilityStartDate (dd/MM/yyyy)</label><input class={inputCls} placeholder="dd/MM/aaaa" bind:value={form.instrument.profitabilityStartDate} /></div>
-          <div><label class="text-sm">automaticExpirationIndicator (S/N)</label><input class={inputCls} bind:value={form.instrument.automaticExpirationIndicator} /></div>
+          <div><label class="text-sm">Tipo de CPR</label><input class={inputCls} bind:value={instrument_cprTypeCode} /></div>
+          <div><label class="text-sm">Código da Conta de Registro (OTC)</label><input class={inputCls} bind:value={instrument_otcRegisterAccountCode} /></div>
+          <div><label class="text-sm">Código da Conta do Agente de Pagamento (OTC)</label><input class={inputCls} bind:value={instrument_otcPaymentAgentAccountCode} /></div>
+          <div><label class="text-sm">Código da Conta do Custodiante (OTC)</label><input class={inputCls} bind:value={instrument_otcCustodianAccountCode} /></div>
+          <div><label class="text-sm">Número de Controle Interno</label><input class={inputCls} bind:value={instrument_internalControlNumber} /></div>
+          <div><label class="text-sm">Emissão Eletrônica? (S/N)</label><input class={inputCls} bind:value={instrument_electronicEmissionIndicator} /></div>
+          <div><label class="text-sm">Código ISIN</label><input class={inputCls} bind:value={instrument_isinCode} /></div>
+          <div><label class="text-sm">Data de Emissão (dd/MM/aaaa)</label><input class={inputCls} placeholder="dd/MM/aaaa" bind:value={instrument_issueDate} /></div>
+          <div><label class="text-sm">Data de Vencimento (dd/MM/aaaa)</label><input class={inputCls} placeholder="dd/MM/aaaa" bind:value={instrument_maturityDate} /></div>
+          <div><label class="text-sm">Quantidade Emitida</label><input class={inputCls} bind:value={instrument_issueQuantity} /></div>
+          <div><label class="text-sm">Valor de Emissão</label><input class={inputCls} bind:value={instrument_issueValue} /></div>
+          <div><label class="text-sm">Valor Financeiro da Emissão</label><input class={inputCls} bind:value={instrument_issueFinancialValue} /></div>
+          <div><label class="text-sm">Valor Unitário</label><input class={inputCls} bind:value={instrument_unitValue} /></div>
+          <div><label class="text-sm">Data de Referência (dd/MM/aaaa)</label><input class={inputCls} placeholder="dd/MM/aaaa" bind:value={instrument_referenceDate} /></div>
+          <div><label class="text-sm">Data de Início da Rentabilidade (dd/MM/aaaa)</label><input class={inputCls} placeholder="dd/MM/aaaa" bind:value={instrument_profitabilityStartDate} /></div>
+          <div><label class="text-sm">Vencimento Automático? (S/N)</label><input class={inputCls} bind:value={instrument_automaticExpirationIndicator} /></div>
         </div>
       </div>
   
@@ -321,19 +619,16 @@
         <div class="mb-3 flex items-center justify-between">
           <h2 class="text-xl font-bold">Collaterals</h2>
         </div>
-        {#each form.instrument.collaterals as c, i}
-          <div class="mb-4 rounded-md border border-border1_contact/10 p-4">
-            <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
-              <div><label class="text-sm">collateralTypeCode</label><input class={inputCls} bind:value={c.collateralTypeCode} /></div>
-              <div><label class="text-sm">collateralTypeName</label><input class={inputCls} bind:value={c.collateralTypeName} /></div>
-              <div><label class="text-sm">constitutionProcessIndicator (S/N)</label><input class={inputCls} bind:value={c.constitutionProcessIndicator} /></div>
-              <div><label class="text-sm">otcBondsmanAccountCode</label><input class={inputCls} bind:value={c.otcBondsmanAccountCode} /></div>
-              <div><label class="text-sm">documentNumber</label><input class={inputCls} bind:value={c.documentNumber} /></div>
-            </div>
-            <div class="mt-3">
-            </div>
+        <div class="mb-4 rounded-md border border-border1_contact/10 p-4">
+          <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
+            <div><label class="text-sm">Tipo de Garantia (código)</label><input class={inputCls} bind:value={coll_collateralTypeCode} /></div>
+            <div><label class="text-sm">Nome da Garantia</label><input class={inputCls} bind:value={coll_collateralTypeName} /></div>
+            <div><label class="text-sm">Garantia já constituída? (S/N)</label><input class={inputCls} bind:value={coll_constitutionProcessIndicator} /></div>
+            <div><label class="text-sm">Código da Conta do Fiador (OTC)</label><input class={inputCls} bind:value={coll_otcBondsmanAccountCode} /></div>
+            <div><label class="text-sm">Número do Documento</label><input class={inputCls} bind:value={coll_documentNumber} /></div>
           </div>
-        {/each}
+          <div class="mt-3"></div>
+        </div>
       </div>
   
       <!-- PRODUCTS -->
@@ -341,23 +636,20 @@
         <div class="mb-3 flex items-center justify-between">
           <h2 class="text-xl font-bold">Products</h2>
         </div>
-        {#each form.instrument.products as p, i}
-          <div class="mb-4 rounded-md border border-border1_contact/10 p-4">
-            <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
-              <div><label class="text-sm">cprProductName</label><input class={inputCls} bind:value={p.cprProductName} /></div>
-              <div><label class="text-sm">cprProductClassName</label><input class={inputCls} bind:value={p.cprProductClassName} /></div>
-              <div><label class="text-sm">cprProductHarvest</label><input class={inputCls} bind:value={p.cprProductHarvest} /></div>
-              <div class="md:col-span-3"><label class="text-sm">cprProductDescription</label><input class={inputCls} bind:value={p.cprProductDescription} /></div>
-              <div><label class="text-sm">cprProductQuantity</label><input class={inputCls} bind:value={p.cprProductQuantity} /></div>
-              <div><label class="text-sm">measureUnitName</label><input class={inputCls} bind:value={p.measureUnitName} /></div>
-              <div><label class="text-sm">packagingWayName</label><input class={inputCls} bind:value={p.packagingWayName} /></div>
-              <div><label class="text-sm">cprProductStatusCode</label><input class={inputCls} bind:value={p.cprProductStatusCode} /></div>
-              <div><label class="text-sm">productionTypeCode</label><input class={inputCls} bind:value={p.productionTypeCode} /></div>
-            </div>
-            <div class="mt-3">
-            </div>
+        <div class="mb-4 rounded-md border border-border1_contact/10 p-4">
+          <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
+            <div><label class="text-sm">Produto</label><input class={inputCls} bind:value={prod_cprProductName} /></div>
+            <div><label class="text-sm">Classe do Produto</label><input class={inputCls} bind:value={prod_cprProductClassName} /></div>
+            <div><label class="text-sm">Safra</label><input class={inputCls} bind:value={prod_cprProductHarvest} /></div>
+            <div class="md:col-span-3"><label class="text-sm">Descrição do Produto</label><input class={inputCls} bind:value={prod_cprProductDescription} /></div>
+            <div><label class="text-sm">Quantidade do Produto</label><input class={inputCls} bind:value={prod_cprProductQuantity} /></div>
+            <div><label class="text-sm">Unidade de Medida</label><input class={inputCls} bind:value={prod_measureUnitName} /></div>
+            <div><label class="text-sm">Forma de Embalagem</label><input class={inputCls} bind:value={prod_packagingWayName} /></div>
+            <div><label class="text-sm">Status do Produto (código)</label><input class={inputCls} bind:value={prod_cprProductStatusCode} /></div>
+            <div><label class="text-sm">Tipo de Produção (código)</label><input class={inputCls} bind:value={prod_productionTypeCode} /></div>
           </div>
-        {/each}
+          <div class="mt-3"></div>
+        </div>
       </div>
   
       <!-- ISSUERS -->
@@ -365,35 +657,32 @@
         <div class="mb-3 flex items-center justify-between">
           <h2 class="text-xl font-bold">Issuers</h2>
         </div>
-        {#each form.instrument.issuers as u, i}
-          <div class="mb-4 rounded-md border border-border1_contact/10 p-4">
-            <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
-              <div><label class="text-sm">cprIssuerName</label><input class={inputCls} bind:value={u.cprIssuerName} /></div>
-              <div><label class="text-sm">documentNumber</label><input class={inputCls} bind:value={u.documentNumber} /></div>
-              <div><label class="text-sm">personTypeAcronym</label><input class={inputCls} bind:value={u.personTypeAcronym} /></div>
-              <div><label class="text-sm">stateAcronym</label><input class={inputCls} bind:value={u.stateAcronym} /></div>
-              <div><label class="text-sm">cityName</label><input class={inputCls} bind:value={u.cityName} /></div>
-              <div><label class="text-sm">ibgeCode</label><input class={inputCls} bind:value={u.ibgeCode} /></div>
-              <div><label class="text-sm">issuerLegalNatureCode</label><input class={inputCls} bind:value={u.issuerLegalNatureCode} /></div>
-            </div>
-            <div class="mt-3">
-            </div>
+        <div class="mb-4 rounded-md border border-border1_contact/10 p-4">
+          <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
+            <div><label class="text-sm">Nome do Emissor</label><input class={inputCls} bind:value={issuer_cprIssuerName} /></div>
+            <div><label class="text-sm">Número do Documento (CPF/CNPJ)</label><input class={inputCls} bind:value={issuer_documentNumber} /></div>
+            <div><label class="text-sm">Tipo de Pessoa (F/J)</label><input class={inputCls} bind:value={issuer_personTypeAcronym} /></div>
+            <div><label class="text-sm">UF</label><input class={inputCls} bind:value={issuer_stateAcronym} /></div>
+            <div><label class="text-sm">Cidade</label><input class={inputCls} bind:value={issuer_cityName} /></div>
+            <div><label class="text-sm">Código IBGE do Município</label><input class={inputCls} bind:value={issuer_ibgeCode} /></div>
+            <div><label class="text-sm">Natureza Jurídica (código)</label><input class={inputCls} bind:value={issuer_issuerLegalNatureCode} /></div>
           </div>
-        {/each}
+          <div class="mt-3"></div>
+        </div>
       </div>
   
       <!-- DEPOSIT -->
       <div class={cardCls + ' mb-8'}>
         <h2 class="mb-4 text-xl font-bold">Deposit</h2>
         <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
-          <div><label class="text-sm">otcFavoredAccountCode</label><input class={inputCls} bind:value={form.instrument.deposit.otcFavoredAccountCode} /></div>
-          <div><label class="text-sm">documentNumber</label><input class={inputCls} bind:value={form.instrument.deposit.documentNumber} /></div>
-          <div><label class="text-sm">personTypeAcronym</label><input class={inputCls} bind:value={form.instrument.deposit.personTypeAcronym} /></div>
-          <div><label class="text-sm">selfNumber</label><input class={inputCls} bind:value={form.instrument.deposit.selfNumber} /></div>
-          <div><label class="text-sm">settlementModalityTypeCode</label><input class={inputCls} bind:value={form.instrument.deposit.settlementModalityTypeCode} /></div>
-          <div><label class="text-sm">otcSettlementBankAccountCode</label><input class={inputCls} bind:value={form.instrument.deposit.otcSettlementBankAccountCode} /></div>
-          <div><label class="text-sm">depositQuantity</label><input class={inputCls} bind:value={form.instrument.deposit.depositQuantity} /></div>
-          <div><label class="text-sm">depositUnitPriceValue</label><input class={inputCls} bind:value={form.instrument.deposit.depositUnitPriceValue} /></div>
+          <div><label class="text-sm">Código da Conta do Favorecido (OTC)</label><input class={inputCls} bind:value={dep_otcFavoredAccountCode} /></div>
+          <div><label class="text-sm">Número do Documento (CPF/CNPJ)</label><input class={inputCls} bind:value={dep_documentNumber} /></div>
+          <div><label class="text-sm">Tipo de Pessoa (F/J)</label><input class={inputCls} bind:value={dep_personTypeAcronym} /></div>
+          <div><label class="text-sm">Número próprio (referência interna)</label><input class={inputCls} bind:value={dep_selfNumber} /></div>
+          <div><label class="text-sm">Modalidade de Liquidação (código)</label><input class={inputCls} bind:value={dep_settlementModalityTypeCode} /></div>
+          <div><label class="text-sm">Código da Conta Bancária de Liquidação (OTC)</label><input class={inputCls} bind:value={dep_otcSettlementBankAccountCode} /></div>
+          <div><label class="text-sm">Quantidade em Depósito</label><input class={inputCls} bind:value={dep_depositQuantity} /></div>
+          <div><label class="text-sm">Preço Unitário do Depósito</label><input class={inputCls} bind:value={dep_depositUnitPriceValue} /></div>
         </div>
       </div>
   
@@ -401,15 +690,15 @@
       <div class={cardCls + ' mb-8'}>
         <h2 class="mb-4 text-xl font-bold">Payment Method</h2>
         <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
-          <div><label class="text-sm">paymentMethodCode</label><input class={inputCls} bind:value={form.instrument.paymentMethod.paymentMethodCode} /></div>
-          <div><label class="text-sm">indexCode</label><input class={inputCls} bind:value={form.instrument.paymentMethod.indexCode} /></div>
-          <div class="md:col-span-3"><label class="text-sm">indexShortName</label><input class={inputCls} bind:value={form.instrument.paymentMethod.indexShortName} /></div>
-          <div><label class="text-sm">vcpIndicatorTypeCode</label><input class={inputCls} bind:value={form.instrument.paymentMethod.vcpIndicatorTypeCode} /></div>
-          <div><label class="text-sm">indexadorPercentageValue</label><input class={inputCls} bind:value={form.instrument.paymentMethod.indexadorPercentageValue} /></div>
-          <div><label class="text-sm">interestRateSpreadPercentage</label><input class={inputCls} bind:value={form.instrument.paymentMethod.interestRateSpreadPercentage} /></div>
-          <div><label class="text-sm">interestRateCriteriaTypeCode</label><input class={inputCls} bind:value={form.instrument.paymentMethod.interestRateCriteriaTypeCode} /></div>
-          <div><label class="text-sm">interestPaymentDate (dd/MM/yyyy)</label><input class={inputCls} placeholder="dd/MM/aaaa" bind:value={form.instrument.paymentMethod.interestPaymentDate} /></div>
-          <div><label class="text-sm">interestPaymentValue</label><input class={inputCls} bind:value={form.instrument.paymentMethod.interestPaymentValue} /></div>
+          <div><label class="text-sm">Forma de Pagamento (código)</label><input class={inputCls} bind:value={pay_paymentMethodCode} /></div>
+          <div><label class="text-sm">Código do Índice</label><input class={inputCls} bind:value={pay_indexCode} /></div>
+          <div class="md:col-span-3"><label class="text-sm">Nome do Índice (abreviado)</label><input class={inputCls} bind:value={pay_indexShortName} /></div>
+          <div><label class="text-sm">Indicador VCP (código)</label><input class={inputCls} bind:value={pay_vcpIndicatorTypeCode} /></div>
+          <div><label class="text-sm">Percentual do Indexador (%)</label><input class={inputCls} bind:value={pay_indexadorPercentageValue} /></div>
+          <div><label class="text-sm">Spread da Taxa de Juros (%)</label><input class={inputCls} bind:value={pay_interestRateSpreadPercentage} /></div>
+          <div><label class="text-sm">Critério da Taxa de Juros (código)</label><input class={inputCls} bind:value={pay_interestRateCriteriaTypeCode} /></div>
+          <div><label class="text-sm">Data de Pagamento de Juros (dd/MM/aaaa)</label><input class={inputCls} placeholder="dd/MM/aaaa" bind:value={pay_interestPaymentDate} /></div>
+          <div><label class="text-sm">Valor do Pagamento de Juros</label><input class={inputCls} bind:value={pay_interestPaymentValue} /></div>
         </div>
       </div>
   
@@ -417,11 +706,11 @@
       <div class={cardCls + ' mb-8'}>
         <h2 class="mb-4 text-xl font-bold">Interest Payment Flow</h2>
         <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
-          <div><label class="text-sm">interestPaymentFrequencyCode</label><input class={inputCls} bind:value={form.instrument.interestPaymentFlow.interestPaymentFrequencyCode} /></div>
-          <div><label class="text-sm">interestMonthsQuantity</label><input class={inputCls} bind:value={form.instrument.interestPaymentFlow.interestMonthsQuantity} /></div>
-          <div><label class="text-sm">timeUnitTypeCode</label><input class={inputCls} bind:value={form.instrument.interestPaymentFlow.timeUnitTypeCode} /></div>
-          <div><label class="text-sm">deadlineTypeCode</label><input class={inputCls} bind:value={form.instrument.interestPaymentFlow.deadlineTypeCode} /></div>
-          <div><label class="text-sm">paymentStartDate (dd/MM/yyyy)</label><input class={inputCls} placeholder="dd/MM/aaaa" bind:value={form.instrument.interestPaymentFlow.paymentStartDate} /></div>
+          <div><label class="text-sm">Frequência de Pagamento de Juros (código)</label><input class={inputCls} bind:value={ipf_interestPaymentFrequencyCode} /></div>
+          <div><label class="text-sm">Quantidade de Meses de Juros</label><input class={inputCls} bind:value={ipf_interestMonthsQuantity} /></div>
+          <div><label class="text-sm">Unidade de Tempo (código)</label><input class={inputCls} bind:value={ipf_timeUnitTypeCode} /></div>
+          <div><label class="text-sm">Tipo de Prazo (código)</label><input class={inputCls} bind:value={ipf_deadlineTypeCode} /></div>
+          <div><label class="text-sm">Data de Início do Pagamento (dd/MM/aaaa)</label><input class={inputCls} placeholder="dd/MM/aaaa" bind:value={ipf_paymentStartDate} /></div>
         </div>
       </div>
   
@@ -429,11 +718,11 @@
       <div class={cardCls + ' mb-8'}>
         <h2 class="mb-4 text-xl font-bold">Amortization Payment Flow</h2>
         <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
-          <div><label class="text-sm">amortizationTypeCode</label><input class={inputCls} bind:value={form.instrument.amortizationPaymentFlow.amortizationTypeCode} /></div>
-          <div><label class="text-sm">amortizationMonthsQuantity</label><input class={inputCls} bind:value={form.instrument.amortizationPaymentFlow.amortizationMonthsQuantity} /></div>
-          <div><label class="text-sm">timeUnitTypeCode</label><input class={inputCls} bind:value={form.instrument.amortizationPaymentFlow.timeUnitTypeCode} /></div>
-          <div><label class="text-sm">deadlineTypeCode</label><input class={inputCls} bind:value={form.instrument.amortizationPaymentFlow.deadlineTypeCode} /></div>
-          <div><label class="text-sm">amortizationStartDate (dd/MM/yyyy)</label><input class={inputCls} placeholder="dd/MM/aaaa" bind:value={form.instrument.amortizationPaymentFlow.amortizationStartDate} /></div>
+          <div><label class="text-sm">Tipo de Amortização (código)</label><input class={inputCls} bind:value={apf_amortizationTypeCode} /></div>
+          <div><label class="text-sm">Quantidade de Meses para Amortização</label><input class={inputCls} bind:value={apf_amortizationMonthsQuantity} /></div>
+          <div><label class="text-sm">Unidade de Tempo (código)</label><input class={inputCls} bind:value={apf_timeUnitTypeCode} /></div>
+          <div><label class="text-sm">Tipo de Prazo (código)</label><input class={inputCls} bind:value={apf_deadlineTypeCode} /></div>
+          <div><label class="text-sm">Data de Início da Amortização (dd/MM/aaaa)</label><input class={inputCls} placeholder="dd/MM/aaaa" bind:value={apf_amortizationStartDate} /></div>
         </div>
       </div>
   
@@ -441,15 +730,15 @@
       <div class={cardCls + ' mb-8'}>
         <h2 class="mb-4 text-xl font-bold">SCR</h2>
         <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
-          <div><label class="text-sm">scrTypeCode</label><input class={inputCls} bind:value={form.instrument.scr.scrTypeCode} /></div>
-          <div><label class="text-sm">scrCustomerDetail</label><input class={inputCls} bind:value={form.instrument.scr.scrCustomerDetail} /></div>
-          <div><label class="text-sm">personTypeAcronym</label><input class={inputCls} bind:value={form.instrument.scr.personTypeAcronym} /></div>
-          <div><label class="text-sm">documentNumber</label><input class={inputCls} bind:value={form.instrument.scr.documentNumber} /></div>
-          <div><label class="text-sm">contractCode</label><input class={inputCls} bind:value={form.instrument.scr.contractCode} /></div>
-          <div><label class="text-sm">operationModalityTypeCode</label><input class={inputCls} bind:value={form.instrument.scr.operationModalityTypeCode} /></div>
-          <div><label class="text-sm">bacenReferenceCode</label><input class={inputCls} bind:value={form.instrument.scr.bacenReferenceCode} /></div>
-          <div><label class="text-sm">finalityCode</label><input class={inputCls} bind:value={form.instrument.scr.finalityCode} /></div>
-          <div><label class="text-sm">ipocCode</label><input class={inputCls} bind:value={form.instrument.scr.ipocCode} /></div>
+          <div><label class="text-sm">Tipo de SCR (código)</label><input class={inputCls} bind:value={scr_scrTypeCode} /></div>
+          <div><label class="text-sm">Detalhes do Cliente (SCR)</label><input class={inputCls} bind:value={scr_scrCustomerDetail} /></div>
+          <div><label class="text-sm">Tipo de Pessoa (F/J)</label><input class={inputCls} bind:value={scr_personTypeAcronym} /></div>
+          <div><label class="text-sm">Número do Documento (CPF/CNPJ)</label><input class={inputCls} bind:value={scr_documentNumber} /></div>
+          <div><label class="text-sm">Código do Contrato</label><input class={inputCls} bind:value={scr_contractCode} /></div>
+          <div><label class="text-sm">Modalidade da Operação (código)</label><input class={inputCls} bind:value={scr_operationModalityTypeCode} /></div>
+          <div><label class="text-sm">Código de Referência BACEN</label><input class={inputCls} bind:value={scr_bacenReferenceCode} /></div>
+          <div><label class="text-sm">Finalidade (código)</label><input class={inputCls} bind:value={scr_finalityCode} /></div>
+          <div><label class="text-sm">Código IPOC</label><input class={inputCls} bind:value={scr_ipocCode} /></div>
         </div>
       </div>
   
@@ -457,10 +746,10 @@
       <div class={cardCls + ' mb-8'}>
         <h2 class="mb-4 text-xl font-bold">Dólar/Euro Profitability</h2>
         <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
-          <div><label class="text-sm">calculationTypeCode</label><input class={inputCls} bind:value={form.instrument.dolarEuroProfitability.calculationTypeCode} /></div>
-          <div><label class="text-sm">initialExchangeValue</label><input class={inputCls} bind:value={form.instrument.dolarEuroProfitability.initialExchangeValue} /></div>
-          <div><label class="text-sm">fixingTypeCode</label><input class={inputCls} bind:value={form.instrument.dolarEuroProfitability.fixingTypeCode} /></div>
-          <div><label class="text-sm">dataSourceTypeCode</label><input class={inputCls} bind:value={form.instrument.dolarEuroProfitability.dataSourceTypeCode} /></div>
+          <div><label class="text-sm">Tipo de Cálculo (código)</label><input class={inputCls} bind:value={de_calculationTypeCode} /></div>
+          <div><label class="text-sm">Câmbio Inicial</label><input class={inputCls} bind:value={de_initialExchangeValue} /></div>
+          <div><label class="text-sm">Tipo de Fixação (código)</label><input class={inputCls} bind:value={de_fixingTypeCode} /></div>
+          <div><label class="text-sm">Fonte de Dados (código)</label><input class={inputCls} bind:value={de_dataSourceTypeCode} /></div>
         </div>
       </div>
   
@@ -468,9 +757,9 @@
       <div class={cardCls + ' mb-8'}>
         <h2 class="mb-4 text-xl font-bold">IGPM/IPCA Profitability</h2>
         <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
-          <div><label class="text-sm">adjustmentFrequencyTypeCode</label><input class={inputCls} bind:value={form.instrument.igpmIpcaProfitability.adjustmentFrequencyTypeCode} /></div>
-          <div><label class="text-sm">adjustmentProRataTypeCode</label><input class={inputCls} bind:value={form.instrument.igpmIpcaProfitability.adjustmentProRataTypeCode} /></div>
-          <div><label class="text-sm">adjustmentTypeCode</label><input class={inputCls} bind:value={form.instrument.igpmIpcaProfitability.adjustmentTypeCode} /></div>
+          <div><label class="text-sm">Frequência de Reajuste (código)</label><input class={inputCls} bind:value={ig_adjustmentFrequencyTypeCode} /></div>
+          <div><label class="text-sm">Pró-rata de Reajuste (código)</label><input class={inputCls} bind:value={ig_adjustmentProRataTypeCode} /></div>
+          <div><label class="text-sm">Tipo de Reajuste (código)</label><input class={inputCls} bind:value={ig_adjustmentTypeCode} /></div>
         </div>
       </div>
   
@@ -478,8 +767,8 @@
       <div class={cardCls + ' mb-8'}>
         <h2 class="mb-4 text-xl font-bold">Creditor</h2>
         <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
-          <div><label class="text-sm">creditorName</label><input class={inputCls} bind:value={form.instrument.creditor.creditorName} /></div>
-          <div><label class="text-sm">documentNumber</label><input class={inputCls} bind:value={form.instrument.creditor.documentNumber} /></div>
+          <div><label class="text-sm">Nome do Credor</label><input class={inputCls} bind:value={creditor_creditorName} /></div>
+          <div><label class="text-sm">Número do Documento (CPF/CNPJ)</label><input class={inputCls} bind:value={creditor_documentNumber} /></div>
         </div>
       </div>
   
@@ -487,12 +776,12 @@
       <div class={cardCls + ' mb-8'}>
         <h2 class="mb-4 text-xl font-bold">Ballast</h2>
         <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
-          <div><label class="text-sm">ballastTypeCode</label><input class={inputCls} bind:value={form.instrument.ballast.ballastTypeCode} /></div>
-          <div><label class="text-sm">lotNumber</label><input class={inputCls} bind:value={form.instrument.ballast.lotNumber} /></div>
-          <div><label class="text-sm">ballastQuantity</label><input class={inputCls} bind:value={form.instrument.ballast.ballastQuantity} /></div>
-          <div><label class="text-sm">currencyCode</label><input class={inputCls} bind:value={form.instrument.ballast.currencyCode} /></div>
-          <div><label class="text-sm">transactionIdentification</label><input class={inputCls} bind:value={form.instrument.ballast.transactionIdentification} /></div>
-          <div class="md:col-span-3"><label class="text-sm">additionalText</label><input class={inputCls} bind:value={form.instrument.ballast.additionalText} /></div>
+          <div><label class="text-sm">Tipo de Lastro (código)</label><input class={inputCls} bind:value={ballast_ballastTypeCode} /></div>
+          <div><label class="text-sm">Número do Lote</label><input class={inputCls} bind:value={ballast_lotNumber} /></div>
+          <div><label class="text-sm">Quantidade do Lastro</label><input class={inputCls} bind:value={ballast_ballastQuantity} /></div>
+          <div><label class="text-sm">Moeda (código)</label><input class={inputCls} bind:value={ballast_currencyCode} /></div>
+          <div><label class="text-sm">Identificação da Transação</label><input class={inputCls} bind:value={ballast_transactionIdentification} /></div>
+          <div class="md:col-span-3"><label class="text-sm">Texto Adicional</label><input class={inputCls} bind:value={ballast_additionalText} /></div>
         </div>
       </div>
   
@@ -500,8 +789,8 @@
       <div class={cardCls + ' mb-8'}>
         <h2 class="mb-4 text-xl font-bold">Register Office</h2>
         <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
-          <div><label class="text-sm">cprNumber</label><input class={inputCls} bind:value={form.instrument.registerOffice.cprNumber} /></div>
-          <div><label class="text-sm">cprContractNumber</label><input class={inputCls} bind:value={form.instrument.registerOffice.cprContractNumber} /></div>
+          <div><label class="text-sm">Número da CPR</label><input class={inputCls} bind:value={register_cprNumber} /></div>
+          <div><label class="text-sm">Número do Contrato da CPR</label><input class={inputCls} bind:value={register_cprContractNumber} /></div>
         </div>
       </div>
   
@@ -510,21 +799,18 @@
         <div class="mb-3 flex items-center justify-between">
           <h2 class="text-xl font-bold">Events</h2>
         </div>
-        {#each form.instrument.events as ev, i}
-          <div class="mb-4 rounded-md border border-border1_contact/10 p-4">
-            <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
-              <div><label class="text-sm">eventTypeCode</label><input class={inputCls} bind:value={ev.eventTypeCode} /></div>
-              <div><label class="text-sm">eventOriginalDate (dd/MM/yyyy)</label><input class={inputCls} placeholder="dd/MM/aaaa" bind:value={ev.eventOriginalDate} /></div>
-              <div><label class="text-sm">unitPriceValue</label><input class={inputCls} bind:value={ev.unitPriceValue} /></div>
-              <div><label class="text-sm">interestUnitPriceValue</label><input class={inputCls} bind:value={ev.interestUnitPriceValue} /></div>
-              <div><label class="text-sm">residualValue</label><input class={inputCls} bind:value={ev.residualValue} /></div>
-              <div><label class="text-sm">amortizationPercentage</label><input class={inputCls} bind:value={ev.amortizationPercentage} /></div>
-              <div><label class="text-sm">eventQuantity</label><input class={inputCls} bind:value={ev.eventQuantity} /></div>
-            </div>
-            <div class="mt-3">
-            </div>
+        <div class="mb-4 rounded-md border border-border1_contact/10 p-4">
+          <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
+            <div><label class="text-sm">Tipo de Evento (código)</label><input class={inputCls} bind:value={ev_eventTypeCode} /></div>
+            <div><label class="text-sm">Data Original do Evento (dd/MM/aaaa)</label><input class={inputCls} placeholder="dd/MM/aaaa" bind:value={ev_eventOriginalDate} /></div>
+            <div><label class="text-sm">Preço Unitário</label><input class={inputCls} bind:value={ev_unitPriceValue} /></div>
+            <div><label class="text-sm">Preço Unitário de Juros</label><input class={inputCls} bind:value={ev_interestUnitPriceValue} /></div>
+            <div><label class="text-sm">Valor Residual</label><input class={inputCls} bind:value={ev_residualValue} /></div>
+            <div><label class="text-sm">Percentual de Amortização (%)</label><input class={inputCls} bind:value={ev_amortizationPercentage} /></div>
+            <div><label class="text-sm">Quantidade do Evento</label><input class={inputCls} bind:value={ev_eventQuantity} /></div>
           </div>
-        {/each}
+          <div class="mt-3"></div>
+        </div>
       </div>
   
       <!-- PRODUCTION PLACES -->
@@ -532,34 +818,31 @@
         <div class="mb-3 flex items-center justify-between">
           <h2 class="text-xl font-bold">Production Places</h2>
         </div>
-        {#each form.instrument.productionPlaces as pl, i}
-          <div class="mb-4 rounded-md border border-border1_contact/10 p-4">
-            <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
-              <div><label class="text-sm">productionPlaceName</label><input class={inputCls} bind:value={pl.productionPlaceName} /></div>
-              <div><label class="text-sm">propertyRegistrationNumber</label><input class={inputCls} bind:value={pl.propertyRegistrationNumber} /></div>
-              <div><label class="text-sm">notaryName</label><input class={inputCls} bind:value={pl.notaryName} /></div>
-              <div><label class="text-sm">totalProductionAreaInHectaresNumber</label><input class={inputCls} bind:value={pl.totalProductionAreaInHectaresNumber} /></div>
-              <div><label class="text-sm">totalAreaInHectaresNumber</label><input class={inputCls} bind:value={pl.totalAreaInHectaresNumber} /></div>
-              <div class="md:col-span-3"><label class="text-sm">carCode</label><input class={inputCls} bind:value={pl.carCode} /></div>
-              <div><label class="text-sm">latitudeCode</label><input class={inputCls} bind:value={pl.latitudeCode} /></div>
-              <div><label class="text-sm">longitudeCode</label><input class={inputCls} bind:value={pl.longitudeCode} /></div>
-              <div><label class="text-sm">zipCode</label><input class={inputCls} bind:value={pl.zipCode} /></div>
-            </div>
-            <div class="mt-3">
-            </div>
+        <div class="mb-4 rounded-md border border-border1_contact/10 p-4">
+          <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
+            <div><label class="text-sm">Local de Produção (nome)</label><input class={inputCls} bind:value={pl_productionPlaceName} /></div>
+            <div><label class="text-sm">Número da Matrícula do Imóvel</label><input class={inputCls} bind:value={pl_propertyRegistrationNumber} /></div>
+            <div><label class="text-sm">Nome do Cartório</label><input class={inputCls} bind:value={pl_notaryName} /></div>
+            <div><label class="text-sm">Área de Produção Total (ha)</label><input class={inputCls} bind:value={pl_totalProductionAreaInHectaresNumber} /></div>
+            <div><label class="text-sm">Área Total (ha)</label><input class={inputCls} bind:value={pl_totalAreaInHectaresNumber} /></div>
+            <div class="md:col-span-3"><label class="text-sm">Código CAR</label><input class={inputCls} bind:value={pl_carCode} /></div>
+            <div><label class="text-sm">Latitude</label><input class={inputCls} bind:value={pl_latitudeCode} /></div>
+            <div><label class="text-sm">Longitude</label><input class={inputCls} bind:value={pl_longitudeCode} /></div>
+            <div><label class="text-sm">CEP</label><input class={inputCls} bind:value={pl_zipCode} /></div>
           </div>
-        {/each}
+          <div class="mt-3"></div>
+        </div>
       </div>
   
       <!-- GREEN CPR -->
       <div class={cardCls + ' mb-8'}>
         <h2 class="mb-4 text-xl font-bold">Green CPR</h2>
         <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
-          <div><label class="text-sm">greenCprIndicator (S/N)</label><input class={inputCls} bind:value={form.instrument.greenCpr.greenCprIndicator} /></div>
-          <div><label class="text-sm">greenCprCertificateName</label><input class={inputCls} bind:value={form.instrument.greenCpr.greenCprCertificateName} /></div>
-          <div><label class="text-sm">greenCprCertificateCnpjNumber</label><input class={inputCls} bind:value={form.instrument.greenCpr.greenCprCertificateCnpjNumber} /></div>
-          <div class="md:col-span-3"><label class="text-sm">greenCprGeoreferencingDescription</label><input class={inputCls} bind:value={form.instrument.greenCpr.greenCprGeoreferencingDescription} /></div>
-          <div><label class="text-sm">greenCprDeclarationIndicator (S/N)</label><input class={inputCls} bind:value={form.instrument.greenCpr.greenCprDeclarationIndicator} /></div>
+          <div><label class="text-sm">CPR Verde? (S/N)</label><input class={inputCls} bind:value={green_greenCprIndicator} /></div>
+          <div><label class="text-sm">Nome do Certificado (CPR Verde)</label><input class={inputCls} bind:value={green_greenCprCertificateName} /></div>
+          <div><label class="text-sm">CNPJ do Certificador</label><input class={inputCls} bind:value={green_greenCprCertificateCnpjNumber} /></div>
+          <div class="md:col-span-3"><label class="text-sm">Descrição do Georreferenciamento</label><input class={inputCls} bind:value={green_greenCprGeoreferencingDescription} /></div>
+          <div><label class="text-sm">Declaração CPR Verde? (S/N)</label><input class={inputCls} bind:value={green_greenCprDeclarationIndicator} /></div>
         </div>
       </div>