فهرست منبع

Guardado de instrumentos opciones y futuros, ajuste en fondo de inversion

Oscar José Nuñez Chávez 5 سال پیش
والد
کامیت
0ceb2f43e3

+ 24 - 12
src/app/components/instruments/fondos/fondos.component.html

@@ -353,6 +353,11 @@
           <h4>Valor transado:</h4>
           <div class="field">$USD {{ valor_transado | number: "1.2-4" }}</div>
         </div>
+
+        <div class="col-sm-4">
+          <h4>Monto a pagar:</h4>
+          <div class="field">$USD {{ monto_pagar | number: "1.2-4" }}</div>
+        </div>
         <div class="col-sm-4">
           <h4>Comisión casa (%):</h4>
           <div class="field">
@@ -443,7 +448,8 @@
               <th mat-header-cell *matHeaderCellDef>Plazo</th>
               <td mat-cell *matCellDef="let row">
                 {{ row.plazo }}
-              </td><td mat-footer-cell *matFooterCellDef></td>
+              </td>
+              <td mat-footer-cell *matFooterCellDef></td>
             </ng-container>
 
             <ng-container matColumnDef="fecha_pago">
@@ -499,7 +505,8 @@
               </td>
               <td mat-footer-cell *matFooterCellDef>
                 {{
-                  consolidado_proyeccion.total_dividendo_porcentaje | number: "1.2-4"
+                  consolidado_proyeccion.total_dividendo_porcentaje
+                    | number: "1.2-4"
                 }}
               </td>
             </ng-container>
@@ -515,7 +522,8 @@
               </td>
               <td mat-footer-cell *matFooterCellDef>
                 {{
-                  consolidado_proyeccion.total_rendimiento_porcentaje | number: "1.2-4"
+                  consolidado_proyeccion.total_rendimiento_porcentaje
+                    | number: "1.2-4"
                 }}
               </td>
             </ng-container>
@@ -529,9 +537,7 @@
                 }}
               </td>
               <td mat-footer-cell *matFooterCellDef>
-                {{
-                  consolidado_proyeccion.total_rendimiento | number: "1.2-4"
-                }}
+                {{ consolidado_proyeccion.total_rendimiento | number: "1.2-4" }}
               </td>
             </ng-container>
 
@@ -612,6 +618,12 @@
           $USD {{ instrument_work_summary.valor_transado | number: "1.2-4" }}
         </div>
       </div>
+      <div class="col-lg-3 col-md-4 col-sm-6">
+        <h4>Monto a pagar:</h4>
+        <div class="field">
+          $USD {{ instrument_work_summary.monto_pagar | number: "1.2-4" }}
+        </div>
+      </div>
       <div class="col-lg-3 col-md-4 col-sm-6">
         <h4>Comisión casa (%):</h4>
         <div class="field">
@@ -761,7 +773,8 @@
               </td>
               <td mat-footer-cell *matFooterCellDef>
                 {{
-                  consolidado_proyeccion.total_dividendo_porcentaje | number: "1.2-4"
+                  consolidado_proyeccion.total_dividendo_porcentaje
+                    | number: "1.2-4"
                 }}
               </td>
             </ng-container>
@@ -777,7 +790,8 @@
               </td>
               <td mat-footer-cell *matFooterCellDef>
                 {{
-                  consolidado_proyeccion.total_rendimiento_porcentaje | number: "1.2-4"
+                  consolidado_proyeccion.total_rendimiento_porcentaje
+                    | number: "1.2-4"
                 }}
               </td>
             </ng-container>
@@ -789,11 +803,9 @@
                     ? "-"
                     : row.rendimiento
                 }}
-              </td>              
+              </td>
               <td mat-footer-cell *matFooterCellDef>
-                {{
-                  consolidado_proyeccion.total_rendimiento | number: "1.2-4"
-                }}
+                {{ consolidado_proyeccion.total_rendimiento | number: "1.2-4" }}
               </td>
             </ng-container>
 

+ 4 - 1
src/app/components/instruments/fondos/fondos.component.ts

@@ -109,6 +109,7 @@ export class FINV implements InstrumentComponent {
   fecha_operacion: any;
   fecha_liquidacion: any;
   consolidado_proyeccion: any;
+  monto_pagar: any;
 
   constructor(
     private formBuilder: FormBuilder,
@@ -298,6 +299,7 @@ export class FINV implements InstrumentComponent {
             ans["result"]["instrumento"]["dias_vencimiento"];
           this.valor_nominal = ans["result"]["instrumento"]["valor_nominal"];
           this.valor_transado = ans["result"]["instrumento"]["valor_transado"];
+          this.monto_pagar = ans["result"]["instrumento"]["monto_pagar"];
           this.comision_casa_porcentaje =
             ans["result"]["instrumento"]["comision_casa_porcentaje"];
           this.comision_casa = ans["result"]["instrumento"]["comision_casa"];
@@ -317,7 +319,7 @@ export class FINV implements InstrumentComponent {
 
           // Proyecciones
           this.proyecciones = ans["result"]["proyecciones"];
-          if (this.proyecciones != undefined && this.proyecciones.length > 0) {            
+          if (this.proyecciones != undefined && this.proyecciones.length > 0) {
             this.hasProjections = true;
             this.consolidado_proyeccion = this.proyecciones.pop();
             this.proyecciones;
@@ -350,6 +352,7 @@ export class FINV implements InstrumentComponent {
             fecha_operacion: this.f.fecha_operacion.value.singleDate.formatted,
             valor_nominal: this.valor_nominal,
             valor_transado: this.valor_transado,
+            monto_pagar: this.monto_pagar,
             comision_casa: this.comision_casa,
             comision_bolsa: this.comision_bolsa,
             fecha_liquidacion: this.fecha_liquidacion,

+ 7 - 4
src/app/components/instruments/futuros/futuros.component.html

@@ -654,12 +654,14 @@
 
           <div class="col-sm-4">
             <h4>Ganancia / pérdida:</h4>
-            <div class="field">{{ ganancia_perdida | number: "1.2-4" }} %</div>
+            <div class="field">
+              $USD {{ ganancia_perdida | number: "1.2-4" }}
+            </div>
           </div>
 
           <div class="col-sm-4">
             <h4>Rendimiento:</h4>
-            <div class="field">{{ rendimiento | number: "1.2-4" }} %</div>
+            <div class="field">$USD {{ rendimiento | number: "1.2-4" }} %</div>
           </div>
 
           <div class="col-sm-4">
@@ -951,14 +953,15 @@
         <div class="col-sm-4">
           <h4>Ganancia / pérdida:</h4>
           <div class="field">
-            {{ instrument_work_summary.ganancia_perdida | number: "1.2-4" }} %
+            $USD
+            {{ instrument_work_summary.ganancia_perdida | number: "1.2-4" }}
           </div>
         </div>
 
         <div class="col-sm-4">
           <h4>Rendimiento:</h4>
           <div class="field">
-            {{ instrument_work_summary.rendimiento | number: "1.2-4" }} %
+            $USD {{ instrument_work_summary.rendimiento | number: "1.2-4" }}
           </div>
         </div>
 

+ 109 - 81
src/app/components/instruments/futuros/futuros.component.ts

@@ -539,26 +539,28 @@ export class FUTU implements InstrumentComponent {
       .subscribe(
         ans => {
           // Instrumento compra
-          this.fecha_operacion_compra =
-            ans["result"]["instrumento_compra"]["fecha_operacion_compra"];
-          this.fecha_liquidacion_compra =
-            ans["result"]["instrumento_compra"]["fecha_liquidacion_compra"];
-          this.precio_unitario_compra =
-            ans["result"]["instrumento_compra"]["precio_unitario_compra"];
-          this.comision_broker_compra =
-            ans["result"]["instrumento_compra"]["comision_broker_compra"];
-          this.cantidad_contratos_compra =
-            ans["result"]["instrumento_compra"]["cantidad_contratos_compra"];
-          this.unidades_contratos_compra =
-            ans["result"]["instrumento_compra"]["unidades_contratos_compra"];
-          this.valor_transado_compra =
-            ans["result"]["instrumento_compra"]["valor_transado_compra"];
-          this.valor_pagado =
-            ans["result"]["instrumento_compra"]["valor_pagado"];
-          this.ganancia_perdida =
-            ans["result"]["instrumento_compra"]["ganancia_perdida"];
-          this.rendimiento = ans["result"]["instrumento_compra"]["rendimiento"];
-
+          if (this.tipoOperacion == 0 || this.tipoEjecucion == 1) {
+            this.fecha_operacion_compra =
+              ans["result"]["instrumento_compra"]["fecha_operacion_compra"];
+            this.fecha_liquidacion_compra =
+              ans["result"]["instrumento_compra"]["fecha_liquidacion_compra"];
+            this.precio_unitario_compra =
+              ans["result"]["instrumento_compra"]["precio_unitario_compra"];
+            this.comision_broker_compra =
+              ans["result"]["instrumento_compra"]["comision_broker_compra"];
+            this.cantidad_contratos_compra =
+              ans["result"]["instrumento_compra"]["cantidad_contratos_compra"];
+            this.unidades_contratos_compra =
+              ans["result"]["instrumento_compra"]["unidades_contratos_compra"];
+            this.valor_transado_compra =
+              ans["result"]["instrumento_compra"]["valor_transado_compra"];
+            this.valor_pagado =
+              ans["result"]["instrumento_compra"]["valor_pagado"];
+            this.ganancia_perdida =
+              ans["result"]["instrumento_compra"]["ganancia_perdida"];
+            this.rendimiento =
+              ans["result"]["instrumento_compra"]["rendimiento"];
+          }
           // Si es operacion largo y ejecucion completa
 
           if (this.tipoOperacion == 0) {
@@ -571,23 +573,24 @@ export class FUTU implements InstrumentComponent {
           }
 
           // Instrumento venta
-          this.fecha_operacion_venta =
-            ans["result"]["instrumento_venta"]["fecha_operacion_venta"];
-          this.fecha_liquidacion_venta =
-            ans["result"]["instrumento_venta"]["fecha_liquidacion_venta"];
-          this.precio_unitario_venta =
-            ans["result"]["instrumento_venta"]["precio_unitario_venta"];
-          this.comision_broker_venta =
-            ans["result"]["instrumento_venta"]["comision_broker_venta"];
-          this.cantidad_contratos_venta =
-            ans["result"]["instrumento_venta"]["cantidad_contratos_venta"];
-          this.unidades_contratos_venta =
-            ans["result"]["instrumento_venta"]["unidades_contratos_venta"];
-          this.valor_transado_venta =
-            ans["result"]["instrumento_venta"]["valor_transado_venta"];
-          this.valor_recibido =
-            ans["result"]["instrumento_venta"]["valor_recibido "];
-
+          if (this.tipoOperacion == 1 || this.tipoEjecucion == 1) {
+            this.fecha_operacion_venta =
+              ans["result"]["instrumento_venta"]["fecha_operacion_venta"];
+            this.fecha_liquidacion_venta =
+              ans["result"]["instrumento_venta"]["fecha_liquidacion_venta"];
+            this.precio_unitario_venta =
+              ans["result"]["instrumento_venta"]["precio_unitario_venta"];
+            this.comision_broker_venta =
+              ans["result"]["instrumento_venta"]["comision_broker_venta"];
+            this.cantidad_contratos_venta =
+              ans["result"]["instrumento_venta"]["cantidad_contratos_venta"];
+            this.unidades_contratos_venta =
+              ans["result"]["instrumento_venta"]["unidades_contratos_venta"];
+            this.valor_transado_venta =
+              ans["result"]["instrumento_venta"]["valor_transado_venta"];
+            this.valor_recibido =
+              ans["result"]["instrumento_venta"]["valor_recibido "];
+          }
           // Si es operacion corto
           if (this.tipoOperacion == 1) {
             this.corto = ans["result"]["instrumento_venta"]["corto"];
@@ -603,52 +606,70 @@ export class FUTU implements InstrumentComponent {
             completo: this.tipoEjecucion,
             corto: this.tipoOperacion,
             ticket: this.investmentProposalForm.value.ticket,
-            precio_unitario_compra: this.investmentProposalForm.value
-              .precio_unitario_compra,
-            comision_broker_compra: this.investmentProposalForm.value
-              .comision_broker_compra,
-            cantidad_contratos_compra: this.investmentProposalForm.value
-              .cantidad_contratos_compra,
-            unidades_contratos_compra: this.investmentProposalForm.value
-              .unidades_contratos_compra,
-            fecha_operacion_compra:
-              this.investmentProposalForm.value.fecha_operacion_compra == ""
-                ? ""
-                : this.investmentProposalForm.value.fecha_operacion_compra
-                    .singleDate.formatted,
-            fecha_liquidacion_compra:
-              this.investmentProposalForm.value.fecha_liquidacion_compra == ""
-                ? ""
-                : this.investmentProposalForm.value.fecha_liquidacion_compra
-                    .singleDate.formatted,
-
-            precio_unitario_venta: this.investmentProposalForm.value
-              .precio_unitario_venta,
-            comision_broker_venta: this.investmentProposalForm.value
-              .comision_broker_venta,
-            cantidad_contratos_venta: this.investmentProposalForm.value
-              .cantidad_contratos_venta,
-            unidades_contratos_venta: this.investmentProposalForm.value
-              .unidades_contratos_venta,
-            fecha_operacion_venta:
-              this.investmentProposalForm.value.fecha_operacion_venta == ""
-                ? ""
-                : this.investmentProposalForm.value.fecha_operacion_venta
-                    .singleDate.formatted,
-            fecha_liquidacion_venta:
-              this.investmentProposalForm.value.fecha_liquidacion_venta == ""
-                ? ""
-                : this.investmentProposalForm.value.fecha_liquidacion_venta
-                    .singleDate.formatted,
-
-            valor_transado_compra: this.valor_transado_compra,
-            valor_pagado: this.valor_pagado,
-            ganancia_perdida: this.ganancia_perdida,
-            rendimiento: this.rendimiento,
-            valor_transado_venta: this.valor_transado_venta,
-            valor_recibido: this.valor_recibido,
+
             fecha_inicio_vigencia: this.fecha_inicio_vigencia
           };
+
+          if (this.tipoOperacion == 0 || this.tipoEjecucion == 1) {
+            (this.futurosObject[
+              "precio_unitario_compra"
+            ] = this.investmentProposalForm.value.precio_unitario_compra),
+              (this.futurosObject[
+                "comision_broker_compra"
+              ] = this.investmentProposalForm.value.comision_broker_compra),
+              (this.futurosObject[
+                "cantidad_contratos_compra"
+              ] = this.investmentProposalForm.value.cantidad_contratos_compra),
+              (this.futurosObject[
+                "unidades_contratos_compra"
+              ] = this.investmentProposalForm.value.unidades_contratos_compra),
+              (this.futurosObject["fecha_operacion_compra"] =
+                this.investmentProposalForm.value.fecha_operacion_compra == ""
+                  ? ""
+                  : this.investmentProposalForm.value.fecha_operacion_compra
+                      .singleDate.formatted),
+              (this.futurosObject["fecha_liquidacion_compra"] =
+                this.investmentProposalForm.value.fecha_liquidacion_compra == ""
+                  ? ""
+                  : this.investmentProposalForm.value.fecha_liquidacion_compra
+                      .singleDate.formatted),
+              (this.futurosObject[
+                "valor_transado_compra"
+              ] = this.valor_transado_compra),
+              (this.futurosObject["valor_pagado"] = this.valor_pagado),
+              (this.futurosObject["ganancia_perdida"] = this.ganancia_perdida),
+              (this.futurosObject["rendimiento"] = this.rendimiento);
+          }
+
+          if (this.tipoOperacion == 1 || this.tipoEjecucion == 1) {
+            (this.futurosObject[
+              "precio_unitario_venta"
+            ] = this.investmentProposalForm.value.precio_unitario_venta),
+              (this.futurosObject[
+                "comision_broker_venta"
+              ] = this.investmentProposalForm.value.comision_broker_venta),
+              (this.futurosObject[
+                "cantidad_contratos_venta"
+              ] = this.investmentProposalForm.value.cantidad_contratos_venta),
+              (this.futurosObject[
+                "unidades_contratos_venta"
+              ] = this.investmentProposalForm.value.unidades_contratos_venta),
+              (this.futurosObject["fecha_operacion_venta"] =
+                this.investmentProposalForm.value.fecha_operacion_venta == ""
+                  ? ""
+                  : this.investmentProposalForm.value.fecha_operacion_venta
+                      .singleDate.formatted),
+              (this.futurosObject["fecha_liquidacion_venta"] =
+                this.investmentProposalForm.value.fecha_liquidacion_venta == ""
+                  ? ""
+                  : this.investmentProposalForm.value.fecha_liquidacion_venta
+                      .singleDate.formatted),
+              (this.futurosObject[
+                "valor_transado_venta"
+              ] = this.valor_transado_venta),
+              (this.futurosObject["valor_recibido"] = this.valor_recibido);
+          }
+
           if (this.tipoOperacion == 0) {
             this.futurosObject[
               "fecha_vencimiento_compra"
@@ -660,6 +681,13 @@ export class FUTU implements InstrumentComponent {
             ] = this.fecha_vencimiento_venta;
           }
 
+          if (this.tipoEjecucion == 1) {
+            this.futurosObject["fecha_cancelado"] = this.datepipe.transform(
+              new Date(),
+              "dd/MM/yyyy"
+            ); //.toISOString().slice(0, 10);
+          }
+
           this.formDataService.setWork(this.futurosObject);
           Swal.close();
           if (saveForm == true) {

+ 4 - 4
src/app/components/instruments/opciones/opciones.component.html

@@ -654,12 +654,12 @@
 
           <div class="col-sm-4">
             <h4>Ganancia / pérdida:</h4>
-            <div class="field">{{ ganancia_perdida | number: "1.2-4" }} %</div>
+            <div class="field">$USD {{ ganancia_perdida | number: "1.2-4" }}</div>
           </div>
 
           <div class="col-sm-4">
             <h4>Rendimiento:</h4>
-            <div class="field">{{ rendimiento | number: "1.2-4" }} %</div>
+            <div class="field">$USD {{ rendimiento | number: "1.2-4" }} %</div>
           </div>
 
           <div class="col-sm-4">
@@ -951,14 +951,14 @@
         <div class="col-sm-4">
           <h4>Ganancia / pérdida:</h4>
           <div class="field">
-            {{ instrument_work_summary.ganancia_perdida | number: "1.2-4" }} %
+            $USD {{ instrument_work_summary.ganancia_perdida | number: "1.2-4" }}
           </div>
         </div>
 
         <div class="col-sm-4">
           <h4>Rendimiento:</h4>
           <div class="field">
-            {{ instrument_work_summary.rendimiento | number: "1.2-4" }} %
+            $USD {{ instrument_work_summary.rendimiento | number: "1.2-4" }}
           </div>
         </div>
 

+ 109 - 81
src/app/components/instruments/opciones/opciones.component.ts

@@ -539,26 +539,28 @@ export class OPC implements InstrumentComponent {
       .subscribe(
         ans => {
           // Instrumento compra
-          this.fecha_operacion_compra =
-            ans["result"]["instrumento_compra"]["fecha_operacion_compra"];
-          this.fecha_liquidacion_compra =
-            ans["result"]["instrumento_compra"]["fecha_liquidacion_compra"];
-          this.precio_unitario_compra =
-            ans["result"]["instrumento_compra"]["precio_unitario_compra"];
-          this.comision_broker_compra =
-            ans["result"]["instrumento_compra"]["comision_broker_compra"];
-          this.cantidad_contratos_compra =
-            ans["result"]["instrumento_compra"]["cantidad_contratos_compra"];
-          this.unidades_contratos_compra =
-            ans["result"]["instrumento_compra"]["unidades_contratos_compra"];
-          this.valor_transado_compra =
-            ans["result"]["instrumento_compra"]["valor_transado_compra"];
-          this.valor_pagado =
-            ans["result"]["instrumento_compra"]["valor_pagado"];
-          this.ganancia_perdida =
-            ans["result"]["instrumento_compra"]["ganancia_perdida"];
-          this.rendimiento = ans["result"]["instrumento_compra"]["rendimiento"];
-
+          if (this.tipoOperacion == 0 || this.tipoEjecucion == 1) {
+            this.fecha_operacion_compra =
+              ans["result"]["instrumento_compra"]["fecha_operacion_compra"];
+            this.fecha_liquidacion_compra =
+              ans["result"]["instrumento_compra"]["fecha_liquidacion_compra"];
+            this.precio_unitario_compra =
+              ans["result"]["instrumento_compra"]["precio_unitario_compra"];
+            this.comision_broker_compra =
+              ans["result"]["instrumento_compra"]["comision_broker_compra"];
+            this.cantidad_contratos_compra =
+              ans["result"]["instrumento_compra"]["cantidad_contratos_compra"];
+            this.unidades_contratos_compra =
+              ans["result"]["instrumento_compra"]["unidades_contratos_compra"];
+            this.valor_transado_compra =
+              ans["result"]["instrumento_compra"]["valor_transado_compra"];
+            this.valor_pagado =
+              ans["result"]["instrumento_compra"]["valor_pagado"];
+            this.ganancia_perdida =
+              ans["result"]["instrumento_compra"]["ganancia_perdida"];
+            this.rendimiento =
+              ans["result"]["instrumento_compra"]["rendimiento"];
+          }
           // Si es operacion largo y ejecucion completa
 
           if (this.tipoOperacion == 0) {
@@ -571,23 +573,24 @@ export class OPC implements InstrumentComponent {
           }
 
           // Instrumento venta
-          this.fecha_operacion_venta =
-            ans["result"]["instrumento_venta"]["fecha_operacion_venta"];
-          this.fecha_liquidacion_venta =
-            ans["result"]["instrumento_venta"]["fecha_liquidacion_venta"];
-          this.precio_unitario_venta =
-            ans["result"]["instrumento_venta"]["precio_unitario_venta"];
-          this.comision_broker_venta =
-            ans["result"]["instrumento_venta"]["comision_broker_venta"];
-          this.cantidad_contratos_venta =
-            ans["result"]["instrumento_venta"]["cantidad_contratos_venta"];
-          this.unidades_contratos_venta =
-            ans["result"]["instrumento_venta"]["unidades_contratos_venta"];
-          this.valor_transado_venta =
-            ans["result"]["instrumento_venta"]["valor_transado_venta"];
-          this.valor_recibido =
-            ans["result"]["instrumento_venta"]["valor_recibido "];
-
+          if (this.tipoOperacion == 1 || this.tipoEjecucion == 1) {
+            this.fecha_operacion_venta =
+              ans["result"]["instrumento_venta"]["fecha_operacion_venta"];
+            this.fecha_liquidacion_venta =
+              ans["result"]["instrumento_venta"]["fecha_liquidacion_venta"];
+            this.precio_unitario_venta =
+              ans["result"]["instrumento_venta"]["precio_unitario_venta"];
+            this.comision_broker_venta =
+              ans["result"]["instrumento_venta"]["comision_broker_venta"];
+            this.cantidad_contratos_venta =
+              ans["result"]["instrumento_venta"]["cantidad_contratos_venta"];
+            this.unidades_contratos_venta =
+              ans["result"]["instrumento_venta"]["unidades_contratos_venta"];
+            this.valor_transado_venta =
+              ans["result"]["instrumento_venta"]["valor_transado_venta"];
+            this.valor_recibido =
+              ans["result"]["instrumento_venta"]["valor_recibido "];
+          }
           // Si es operacion corto
           if (this.tipoOperacion == 1) {
             this.corto = ans["result"]["instrumento_venta"]["corto"];
@@ -603,52 +606,70 @@ export class OPC implements InstrumentComponent {
             completo: this.tipoEjecucion,
             corto: this.tipoOperacion,
             ticket: this.investmentProposalForm.value.ticket,
-            precio_unitario_compra: this.investmentProposalForm.value
-              .precio_unitario_compra,
-            comision_broker_compra: this.investmentProposalForm.value
-              .comision_broker_compra,
-            cantidad_contratos_compra: this.investmentProposalForm.value
-              .cantidad_contratos_compra,
-            unidades_contratos_compra: this.investmentProposalForm.value
-              .unidades_contratos_compra,
-            fecha_operacion_compra:
-              this.investmentProposalForm.value.fecha_operacion_compra == ""
-                ? ""
-                : this.investmentProposalForm.value.fecha_operacion_compra
-                    .singleDate.formatted,
-            fecha_liquidacion_compra:
-              this.investmentProposalForm.value.fecha_liquidacion_compra == ""
-                ? ""
-                : this.investmentProposalForm.value.fecha_liquidacion_compra
-                    .singleDate.formatted,
-
-            precio_unitario_venta: this.investmentProposalForm.value
-              .precio_unitario_venta,
-            comision_broker_venta: this.investmentProposalForm.value
-              .comision_broker_venta,
-            cantidad_contratos_venta: this.investmentProposalForm.value
-              .cantidad_contratos_venta,
-            unidades_contratos_venta: this.investmentProposalForm.value
-              .unidades_contratos_venta,
-            fecha_operacion_venta:
-              this.investmentProposalForm.value.fecha_operacion_venta == ""
-                ? ""
-                : this.investmentProposalForm.value.fecha_operacion_venta
-                    .singleDate.formatted,
-            fecha_liquidacion_venta:
-              this.investmentProposalForm.value.fecha_liquidacion_venta == ""
-                ? ""
-                : this.investmentProposalForm.value.fecha_liquidacion_venta
-                    .singleDate.formatted,
-
-            valor_transado_compra: this.valor_transado_compra,
-            valor_pagado: this.valor_pagado,
-            ganancia_perdida: this.ganancia_perdida,
-            rendimiento: this.rendimiento,
-            valor_transado_venta: this.valor_transado_venta,
-            valor_recibido: this.valor_recibido,
+
             fecha_inicio_vigencia: this.fecha_inicio_vigencia
           };
+
+          if (this.tipoOperacion == 0 || this.tipoEjecucion == 1) {
+            (this.opcionesObject[
+              "precio_unitario_compra"
+            ] = this.investmentProposalForm.value.precio_unitario_compra),
+              (this.opcionesObject[
+                "comision_broker_compra"
+              ] = this.investmentProposalForm.value.comision_broker_compra),
+              (this.opcionesObject[
+                "cantidad_contratos_compra"
+              ] = this.investmentProposalForm.value.cantidad_contratos_compra),
+              (this.opcionesObject[
+                "unidades_contratos_compra"
+              ] = this.investmentProposalForm.value.unidades_contratos_compra),
+              (this.opcionesObject["fecha_operacion_compra"] =
+                this.investmentProposalForm.value.fecha_operacion_compra == ""
+                  ? ""
+                  : this.investmentProposalForm.value.fecha_operacion_compra
+                      .singleDate.formatted),
+              (this.opcionesObject["fecha_liquidacion_compra"] =
+                this.investmentProposalForm.value.fecha_liquidacion_compra == ""
+                  ? ""
+                  : this.investmentProposalForm.value.fecha_liquidacion_compra
+                      .singleDate.formatted),
+              (this.opcionesObject[
+                "valor_transado_compra"
+              ] = this.valor_transado_compra),
+              (this.opcionesObject["valor_pagado"] = this.valor_pagado),
+              (this.opcionesObject["ganancia_perdida"] = this.ganancia_perdida),
+              (this.opcionesObject["rendimiento"] = this.rendimiento);
+          }
+
+          if (this.tipoOperacion == 1 || this.tipoEjecucion == 1) {
+            (this.opcionesObject[
+              "precio_unitario_venta"
+            ] = this.investmentProposalForm.value.precio_unitario_venta),
+              (this.opcionesObject[
+                "comision_broker_venta"
+              ] = this.investmentProposalForm.value.comision_broker_venta),
+              (this.opcionesObject[
+                "cantidad_contratos_venta"
+              ] = this.investmentProposalForm.value.cantidad_contratos_venta),
+              (this.opcionesObject[
+                "unidades_contratos_venta"
+              ] = this.investmentProposalForm.value.unidades_contratos_venta),
+              (this.opcionesObject["fecha_operacion_venta"] =
+                this.investmentProposalForm.value.fecha_operacion_venta == ""
+                  ? ""
+                  : this.investmentProposalForm.value.fecha_operacion_venta
+                      .singleDate.formatted),
+              (this.opcionesObject["fecha_liquidacion_venta"] =
+                this.investmentProposalForm.value.fecha_liquidacion_venta == ""
+                  ? ""
+                  : this.investmentProposalForm.value.fecha_liquidacion_venta
+                      .singleDate.formatted),
+              (this.opcionesObject[
+                "valor_transado_venta"
+              ] = this.valor_transado_venta),
+              (this.opcionesObject["valor_recibido"] = this.valor_recibido);
+          }
+
           if (this.tipoOperacion == 0) {
             this.opcionesObject[
               "fecha_vencimiento_compra"
@@ -660,6 +681,13 @@ export class OPC implements InstrumentComponent {
             ] = this.fecha_vencimiento_venta;
           }
 
+          if (this.tipoEjecucion == 1) {
+            this.opcionesObject["fecha_cancelado"] = this.datepipe.transform(
+              new Date(),
+              "dd/MM/yyyy"
+            ); //.toISOString().slice(0, 10);
+          }
+
           this.formDataService.setWork(this.opcionesObject);
           Swal.close();
           if (saveForm == true) {