Ignore:
Timestamp:
09/16/26 23:37:15 (13 days ago)
Author:
Stefan <trsunovstefan@…>
Branches:
main
Children:
8b447ef
Parents:
df05838
Message:

add reserved_quantity and modify the phases, add v_03.png and v_03.xml for P1

File:
1 edited

Legend:

Unmodified
Added
Removed
  • server/portfolio.go

    rdf05838 r9577c79  
    33import (
    44        "fmt"
     5        "strings"
    56
    67        "bp_project/server/db"
    … …  
    1314                `SELECT symbol,
    1415                        quantity,
     16                        COALESCE(reserved_quantity, 0),
     17                        COALESCE(available_quantity, quantity),
    1518                        COALESCE(avg_price, 0),
    1619                        COALESCE(current_price, 0),
    … …  
    2831        defer rows.Close()
    2932
     33        header := fmt.Sprintf("  %-8s  %12s  %12s  %12s  %14s  %14s  %14s  %14s",
     34                "Symbol", "Quantity", "Reserved", "Available", "Avg buy", "Current", "Value", "Unrealised P/L")
    3035        fmt.Println()
    31         fmt.Printf("  %-8s  %12s  %14s  %14s  %14s  %14s\n",
    32                 "Symbol", "Quantity", "Avg buy", "Current", "Value", "Unrealised P/L")
    33         fmt.Println("  ------------------------------------------------------------------------------------")
     36        fmt.Println(header)
     37        fmt.Println("  " + strings.Repeat("-", len(header)-2))
    3438
    3539        var totalValue, totalPnL float64
    … …  
    3741        for rows.Next() {
    3842                var sym string
    39                 var qty, avg, cur, val, pnl float64
    40                 if err := rows.Scan(&sym, &qty, &avg, &cur, &val, &pnl); err != nil {
     43                var qty, reserved, avail, avg, cur, val, pnl float64
     44                if err := rows.Scan(&sym, &qty, &reserved, &avail, &avg, &cur, &val, &pnl); err != nil {
    4145                        fmt.Println("scan error:", err)
    4246                        return
    4347                }
    44                 fmt.Printf("  %-8s  %12.4f  %14.6f  %14.6f  %14.4f  %+14.4f\n",
    45                         sym, qty, avg, cur, val, pnl)
     48                fmt.Printf("  %-8s  %12.4f  %12.4f  %12.4f  %14.6f  %14.6f  %14.4f  %+14.4f\n",
     49                        sym, qty, reserved, avail, avg, cur, val, pnl)
    4650                totalValue += val
    4751                totalPnL += pnl
    … …  
    5256                return
    5357        }
    54         fmt.Println("  ------------------------------------------------------------------------------------")
    55         fmt.Printf("  %-8s  %12s  %14s  %14s  %14.4f  %+14.4f\n",
    56                 "TOTAL", "", "", "", totalValue, totalPnL)
     58        fmt.Println("  " + strings.Repeat("-", len(header)-2))
     59        fmt.Printf("  %-8s  %12s  %12s  %12s  %14s  %14s  %14.4f  %+14.4f\n",
     60                "TOTAL", "", "", "", "", "", totalValue, totalPnL)
    5761
    5862        // cash summary
Note: See TracChangeset for help on using the changeset viewer.