Example usage for org.springframework.jdbc.support.rowset SqlRowSet next

List of usage examples for org.springframework.jdbc.support.rowset SqlRowSet next

Introduction

In this page you can find the example usage for org.springframework.jdbc.support.rowset SqlRowSet next.

Prototype

boolean next() throws InvalidResultSetAccessException;

Source Link

Document

Move the cursor to the next row.

Usage

From source file:com.ardhi.businessgame.services.BusinessGameService.java

public String loadSectorOwned(HttpServletRequest req) {
    String val = "0";

    SqlRowSet srs = db.getJdbc()
            .queryForRowSet("select sector,cost from user_sector_blueprint,info_sector where [user]='"
                    + req.getParameter("user") + "' and sector=name");
    ArrayList<String> userSectors = new ArrayList<String>();
    ArrayList<Double> sectorCosts = new ArrayList<Double>();
    while (srs.next()) {
        userSectors.add(srs.getString("sector"));
        sectorCosts.add(srs.getDouble("cost"));
    }/*from  w  w w. ja va 2s. c  o m*/

    srs = db.getJdbc().queryForRowSet(
            "select cost from info_zone where id=(select [zone] from businessgame.dbo.[user] where name='"
                    + req.getParameter("user") + "')");
    double price;
    if (srs.next()) {
        price = srs.getDouble("cost");
    } else
        return "0";

    ArrayList<String> data = new ArrayList<String>();
    data.add(gson.toJson(userSectors));
    data.add(gson.toJson(sectorCosts));
    data.add(gson.toJson(price));

    val = gson.toJson(data);

    userSectors = null;
    sectorCosts = null;
    data = null;
    srs = null;

    gc();

    return val;
}

From source file:com.ardhi.businessgame.services.BusinessGameService.java

public String detachEquipment(HttpServletRequest req) {
    String val = "0", idStorage, sqls[];
    ArrayList<String> sqlL = new ArrayList<String>();
    SqlRowSet srs;

    //0 = internal error
    //1 = user belum memiliki storage

    srs = db.getJdbc()/*from   w  w  w  .j  ava  2s . co m*/
            .queryForRowSet("select id from storage where [user]='" + req.getParameter("user")
                    + "' and [zone]=(select [zone] from businessgame.dbo.[user] where name='"
                    + req.getParameter("user") + "')");
    if (srs.next())
        idStorage = srs.getString("id");
    else
        return "1";

    sqlL.add("delete from installment_equipment where id='" + req.getParameter("idEquipment") + "'");

    sqlL.add("insert into storage_equipment values ('" + req.getParameter("idEquipment") + "','" + idStorage
            + "')");

    sqls = new String[sqlL.size()];
    sqlL.toArray(sqls);
    db.getJdbc().batchUpdate(sqls);

    srs = db.getJdbc().queryForRowSet(
            "select installment_equipment.id,equipment,quality,durability,size,operational,draw from installment_equipment,desc_equipment,list_equipment,info_equipment where installment='"
                    + req.getParameter("id")
                    + "' and installment_equipment.id=list_equipment.id and list_equipment.[desc]=desc_equipment.id and name=equipment");
    ArrayList<InstallmentEquipment> equipments = new ArrayList<InstallmentEquipment>();
    while (srs.next()) {
        equipments.add(new InstallmentEquipment(srs.getString("id"), srs.getString("equipment"),
                srs.getInt("quality"), srs.getDouble("durability"), srs.getDouble("size"),
                srs.getDouble("operational"), srs.getString("draw")));
    }

    Installment installment = getSingleUserInstallments(req.getParameter("id"));

    ArrayList<String> data = new ArrayList<String>();
    data.add(gson.toJson(equipments));
    data.add(gson.toJson(installment));

    val = gson.toJson(data);

    equipments = null;
    installment = null;
    data = null;
    sqlL = null;
    sqls = null;
    idStorage = null;
    srs = null;

    gc();

    return val;
}

From source file:com.ardhi.businessgame.services.BusinessGameService.java

public String buyMarketProduct(HttpServletRequest req) {
    String val = "0", seller = "", sellerZone = "", user, userZone, product, idInc, sqls[], desc;
    double userMoney, sellerMoney, price, storage = 0, picked, size, total, transport = 0;
    int level;/*  www .j a  v a  2 s . com*/
    ArrayList<String> sqlL = new ArrayList<String>();

    SqlRowSet srs = db.getJdbc().queryForRowSet(
            "select name,money,[zone] from businessgame.dbo.[user] where name=(select [user] from storage where id='"
                    + req.getParameter("storage") + "')");
    if (srs.next()) {
        user = srs.getString("name");
        userMoney = srs.getDouble("money");
        userZone = srs.getString("zone");
    } else
        return "0";

    System.out.println("Tanda 1");

    //0 = internal error
    //1 = produk dah abis
    //2 = produk kurang
    //3 = uang ga cukup
    //4 = storage ga ada
    //5 = storage ga cukup

    srs = db.getJdbc().queryForRowSet(
            "select desc_product.id,market_product.price,market_product.size,storage.[user],storage.[zone],[user].money,product,quality from market_product,storage_product,desc_product,storage,[user] where market_product.id='"
                    + req.getParameter("productId")
                    + "' and storage_product.id=storage_product_id and storage_product.[desc]=desc_product.id and storage_product.storage=storage.id and storage.[user]=[user].name");
    if (srs.next()) {
        desc = srs.getString("id");
        price = srs.getDouble("price");
        size = srs.getDouble("size");
        seller = srs.getString("user");
        product = srs.getString("product");
        sellerMoney = srs.getDouble("money");
        sellerZone = srs.getString("zone");
    } else
        return "1";

    srs = db.getJdbc().queryForRowSet("select transport from info_product where name='" + product + "'");
    if (srs.next())
        transport = srs.getDouble("transport");
    else
        return "0";

    System.out.println("Tanda 2");

    picked = Double.parseDouble(req.getParameter("picked"));
    total = price * picked;

    if (size < picked)
        return "2";

    if (userMoney < total)
        return "3";

    size -= picked;
    userMoney -= total;

    srs = db.getJdbc()
            .queryForRowSet("select id,[level] from storage where id='" + req.getParameter("storage") + "'");
    if (srs.next()) {
        level = srs.getInt("level") - 1;
    } else
        return "4";

    srs = db.getJdbc().queryForRowSet(
            "select [value] from info_values where name='storage' union select [value] from info_values where name='storage_inc'");
    if (srs.next()) {
        storage = Double.parseDouble(srs.getString("value"));
    } else
        return "0";

    System.out.println("Tanda 3");

    if (srs.next()) {
        storage += level * Double.parseDouble(srs.getString("value"));
    } else
        return "0";

    System.out.println("Tanda 4");

    srs = db.getJdbc().queryForRowSet("select id,size from storage_product where storage='"
            + req.getParameter("storage")
            + "' union select storage_equipment.id,size from storage_equipment,desc_equipment,list_equipment,storage where storage='"
            + req.getParameter("storage")
            + "' and list_equipment.id=storage_equipment.id and list_equipment.[desc]=desc_equipment.id and storage.id=storage_equipment.storage");
    while (srs.next()) {
        storage -= srs.getDouble("size");
    }

    if (storage < picked)
        return "5";

    System.out.println("Tanda 5");

    srs = db.getJdbc()
            .queryForRowSet("select id,size,avg_price from storage_product where storage_product.[desc]='"
                    + desc + "' and storage='" + req.getParameter("storage") + "'");
    if (srs.next()) {
        price = (total + (srs.getDouble("size") * srs.getDouble("avg_price")))
                / (picked + srs.getDouble("size"));
        sqlL.add("update storage_product set size='" + (srs.getDouble("size") + picked) + "',price='" + price
                + "' where id='" + srs.getString("id") + "'");
    }

    if (sqlL.size() < 1) {
        idInc = getUniqueIncrementIdNew("storage_product");
        sqlL.add("insert into storage_product values ('" + KEY_PRODUCT + idInc + "','" + desc + "','"
                + req.getParameter("storage") + "','" + picked + "','" + price + "')");
    }

    if (size > 0)
        sqlL.add("update market_product set size='" + size + "' where id='" + req.getParameter("productId")
                + "'");
    else
        sqlL.add("delete from market_product where id='" + req.getParameter("productId") + "'");

    sqlL.add("update businessgame.dbo.[user] set money='" + userMoney + "' where name='" + user + "'");

    //      srs = db.getJdbc().queryForRowSet("select total from user_finance where user='"+user+"' and type='Raw Material'");
    //      if(srs.next()){
    //         sqlL.add("update user_finance set total='"+(((srs.getDouble("total")*-1)+total)*-1)+"' where user='"+user+"' and type='Raw Material'");
    //      } else {
    //         idInc = getUniqueIncrementIdNew("user_finance");
    //         sqlL.add("insert into user_finance values ('"+KEY_USER_FINANCE+idInc+"','"+user+"','Raw Material','"+(-1*total)+"')");
    //      }
    //      accountingFinance(user, "Raw Material", total, false);

    sellerMoney += total;

    double tmpd1;

    srs = db.getJdbc().queryForRowSet(
            "select transport_in,transport_out,retribution from info_zone where id='" + userZone + "'");
    if (srs.next()) {
        if (userZone.equals(sellerZone))
            transport *= srs.getDouble("transport_in");
        else
            transport *= srs.getDouble("transport_out");
        tmpd1 = srs.getDouble("retribution");
    } else
        return "0";
    accountingFinance(seller, "Sales", total, true);
    accountingFinance(seller, "Transport", picked * transport, false);
    accountingFinance(seller, "Retribution", picked * tmpd1, false);

    sqlL.add("update businessgame.dbo.[user] set money='" + sellerMoney + "' where name='" + seller + "'");

    srs = db.getJdbc().queryForRowSet(
            "select id,size from storage_product where id=(select storage_product_id from market_product where id='"
                    + req.getParameter("productId") + "')");
    if (srs.next()) {
        val = srs.getString("id");
        size = srs.getDouble("size");
    } else
        return "0";

    size -= picked;
    if (size > 0)
        sqlL.add("update storage_product set size='" + size + "' where id='" + val + "'");
    else
        sqlL.add("delete from storage_product where id='" + val + "'");

    System.out.println("Tanda 6");

    sqls = new String[sqlL.size()];
    sqlL.toArray(sqls);
    db.getJdbc().batchUpdate(sqls);

    srs = db.getJdbc().queryForRowSet(
            "select market_product.id,storage.[user],product,market_product.price,quality,market_product.size,draw from market_product,storage_product,desc_product,storage,info_product where market_product.[zone]='"
                    + userZone
                    + "' and storage_product.id=storage_product_id and desc_product.id=storage_product.[desc] and storage.id=storage_product.storage and product=name");
    //      srs = db.getJdbc().queryForRowSet("select market_product.id,storage.[user],product,market_product.price,quality,market_product.size,draw from market_product,storage_product,desc_product,storage,info_product where market_product.[zone]='"+userZone+"' and storage_product.id=storage_product_id and desc_product.id=storage_product.[desc] and storage.id=storage_product.storage and product=name union select market_product.id,'',product,market_product.price,quality,market_product.size,draw from market_product,desc_product,info_product where market_product.[zone]='"+userZone+"' and desc_product.id=market_product.[desc] and product=name");
    ArrayList<MarketProduct> products = new ArrayList<MarketProduct>();
    while (srs.next()) {
        products.add(new MarketProduct(srs.getString("id"), srs.getString("user"), srs.getString("product"),
                srs.getDouble("price"), srs.getInt("quality"), srs.getDouble("size"), srs.getString("draw")));
    }

    ArrayList<String> data = new ArrayList<String>();
    data.add(gson.toJson(userMoney));
    data.add(gson.toJson(products));

    val = gson.toJson(data);

    product = null;
    sqlL = null;
    data = null;
    sqls = null;
    srs = null;
    seller = null;
    sellerZone = null;
    user = null;
    userZone = null;
    desc = null;
    product = null;
    idInc = null;

    gc();

    return val;
}

From source file:com.ardhi.businessgame.services.BusinessGameService.java

public String makeContract(HttpServletRequest req) {
    String val = "", idInc, storageSeller, storageUser, desc;
    SqlRowSet srs;

    //0=internal error
    //1=supplier ga punya storage
    //2=user ga punya storage

    srs = db.getJdbc()//from ww w .  ja va 2s.  com
            .queryForRowSet("select id from storage where [user]='" + req.getParameter("supplier")
                    + "' and [zone]=(select [zone] from businessgame.dbo.[user] where name='"
                    + req.getParameter("supplier") + "')");
    if (srs.next())
        storageSeller = srs.getString("id");
    else
        return "1";

    srs = db.getJdbc()
            .queryForRowSet("select id from storage where [user]='" + req.getParameter("user")
                    + "' and [zone]=(select [zone] from businessgame.dbo.[user] where name='"
                    + req.getParameter("user") + "')");
    if (srs.next())
        storageUser = srs.getString("id");
    else
        return "2";

    srs = db.getJdbc().queryForRowSet("select id from desc_product where product='"
            + req.getParameter("product") + "' and quality='" + req.getParameter("quality") + "'");
    if (srs.next())
        desc = srs.getString("id");
    else
        return "0";

    idInc = getUniqueIncrementIdNew("user_contract");
    db.getJdbc()
            .execute("insert into user_contract values ('" + KEY_USER_CONTRACT + idInc + "','" + storageUser
                    + "','" + storageSeller + "','" + desc + "','" + req.getParameter("quantity") + "','"
                    + req.getParameter("price") + "','" + req.getParameter("turn") + "','0')");
    val = "Ok";
    return val;
}

From source file:com.ardhi.businessgame.services.BusinessGameService.java

public String loadHeadquarterData(HttpServletRequest req) {
    String val = "0", contractType, user, zone;
    SqlRowSet srs1 = db.getJdbc().queryForRowSet("select name,[level] from info_sector"), srs2, srs3;
    ArrayList<String> sectors = new ArrayList<String>();
    ArrayList<Integer> sectorsLvl = new ArrayList<Integer>();
    while (srs1.next()) {
        sectors.add(srs1.getString("name"));
        sectorsLvl.add(srs1.getInt("level"));
    }/*  w w w.java 2  s.  com*/

    srs1 = db.getJdbc().queryForRowSet("select [value] from info_values where name='sector'");
    double price;
    if (srs1.next()) {
        price = Double.parseDouble(srs1.getString("value"));
    } else
        return "0";

    srs1 = db.getJdbc().queryForRowSet(
            "select user_contract.id,request_storage,supplier_storage,product,quality,size,user_contract.price,turn from user_contract,storage,desc_product where accept='1' and [user]='"
                    + req.getParameter("user")
                    + "' and product_desc=desc_product.id and (request_storage=storage.id or supplier_storage=storage.id)");
    ArrayList<Contract> contracts = new ArrayList<Contract>();
    while (srs1.next()) {
        srs2 = db.getJdbc().queryForRowSet("select [user],[zone] from storage where id='"
                + srs1.getString("request_storage") + "' union select [user],[zone] from storage where id='"
                + srs1.getString("supplier_storage") + "'");
        if (srs2.next()) {
            if (srs2.getString("user").equals(req.getParameter("user"))) {
                contractType = "from";
                srs2.next();
                user = srs2.getString("user");
                zone = srs2.getString("zone");
            } else {
                contractType = "to";
                user = srs2.getString("user");
                zone = srs2.getString("zone");
            }
            contracts
                    .add(new Contract(srs1.getString("id"), user, zone, contractType, srs1.getString("product"),
                            srs1.getInt("quality"), srs1.getDouble("size"), srs1.getDouble("price")));
        } else
            return "0";
    }

    srs1 = db.getJdbc().queryForRowSet(
            "select user_contract.id,request_storage,supplier_storage,product,quality,size,user_contract.price,turn from user_contract,storage,desc_product where accept='0' and [user]='"
                    + req.getParameter("user")
                    + "' and product_desc=desc_product.id and (request_storage=storage.id or supplier_storage=storage.id)");
    ArrayList<Contract> pendingContracts = new ArrayList<Contract>();
    while (srs1.next()) {
        srs2 = db.getJdbc().queryForRowSet("select [user],[zone] from storage where id='"
                + srs1.getString("request_storage") + "' union select [user],[zone] from storage where id='"
                + srs1.getString("supplier_storage") + "'");
        if (srs2.next()) {
            if (srs2.getString("user").equals(req.getParameter("user"))) {
                contractType = "from";
                srs2.next();
                user = srs2.getString("user");
                zone = srs2.getString("zone");
            } else {
                contractType = "to";
                user = srs2.getString("user");
                zone = srs2.getString("zone");
            }
            pendingContracts
                    .add(new Contract(srs1.getString("id"), user, zone, contractType, srs1.getString("product"),
                            srs1.getInt("quality"), srs1.getDouble("size"), srs1.getDouble("price")));
        } else
            return "0";
    }

    double sales = 0, raw = 0, electricity = 0, fixed = 0, wage = 0, operation = 0, transport = 0,
            retribution = 0, advertisement = 0, interest = 0, depreciation = 0, tax = 0;
    srs1 = db.getJdbc().queryForRowSet(
            "select type,total from user_finance where [user]='" + req.getParameter("user") + "'");
    while (srs1.next()) {
        if (srs1.getString("type").equals("Sales"))
            sales = srs1.getDouble("total");
        else if (srs1.getString("type").equals("Raw Material"))
            raw = srs1.getDouble("total");
        else if (srs1.getString("type").equals("Electricity"))
            electricity = srs1.getDouble("total");
        else if (srs1.getString("type").equals("Fixed"))
            fixed = srs1.getDouble("total");
        else if (srs1.getString("type").equals("Wage"))
            wage = srs1.getDouble("total");
        else if (srs1.getString("type").equals("Operation"))
            operation = srs1.getDouble("total");
        else if (srs1.getString("type").equals("Transport"))
            transport = srs1.getDouble("total");
        else if (srs1.getString("type").equals("Retribution"))
            retribution = srs1.getDouble("total");
        else if (srs1.getString("type").equals("Advertisement"))
            advertisement = srs1.getDouble("total");
        else if (srs1.getString("type").equals("Interest"))
            interest = srs1.getDouble("total");
        else if (srs1.getString("type").equals("Depreciation"))
            depreciation = srs1.getDouble("total");
    }

    srs1 = db.getJdbc().queryForRowSet("select [value] from info_values where name='tax'");
    if (srs1.next())
        tax = Double.parseDouble(srs1.getString("value"));
    else
        return "0";

    double cash, rawOnStorage = 0, equipmentOnStorage = 0, loan = 0, storage = 0, equipment = 0, sector = 0,
            tmpd1, tmpd2, tmpd3;
    srs1 = db.getJdbc().queryForRowSet(
            "select money from businessgame.dbo.[user] where name='" + req.getParameter("user") + "'");
    if (srs1.next())
        cash = srs1.getDouble("money");
    else
        return "0";

    srs1 = db.getJdbc().queryForRowSet(
            "select [value] from info_values where name='cost_storage' union select [value] from info_values where name='cost_storage_upgrade'");
    if (srs1.next())
        tmpd1 = Double.parseDouble(srs1.getString("value"));
    else
        return "0";
    if (srs1.next())
        tmpd2 = Double.parseDouble(srs1.getString("value"));
    else
        return "0";

    srs1 = db.getJdbc()
            .queryForRowSet("select id,[level] from storage where [user]='" + req.getParameter("user") + "'");
    while (srs1.next()) {
        srs2 = db.getJdbc().queryForRowSet(
                "select size,avg_price from storage_product where storage='" + srs1.getString("id") + "'");
        while (srs2.next()) {
            rawOnStorage += (srs2.getDouble("size") * srs2.getDouble("avg_price"));
        }
        srs2 = db.getJdbc().queryForRowSet(
                "select buy_price,durability from storage_equipment,list_equipment where storage='"
                        + srs1.getString("id") + "' and storage_equipment.id=list_equipment.id");
        while (srs2.next()) {
            equipmentOnStorage += srs2.getDouble("buy_price") * (srs2.getDouble("durability") / 100.00);
        }

        storage += tmpd1;
        for (int i = 1; i < srs1.getLong("level"); i++) {
            storage += tmpd2;
        }
    }

    srs1 = db.getJdbc()
            .queryForRowSet("select borrow from borrow_bank where [user]='" + req.getParameter("user") + "'");
    while (srs1.next()) {
        loan += srs1.getDouble("borrow") * -1;
    }

    srs1 = db.getJdbc().queryForRowSet(
            "select installment.id,info_zone.cost,info_sector.cost from installment,info_zone,info_sector where [user]='"
                    + req.getParameter("user") + "' and info_zone.id=[zone] and info_sector.name=type");
    while (srs1.next()) {
        sector += srs1.getDouble(2) + srs1.getDouble(3);
        srs2 = db.getJdbc().queryForRowSet(
                "select buy_price,durability from installment_equipment,list_equipment where installment='"
                        + srs1.getString(1) + "' and installment_equipment.id=list_equipment.id");
        while (srs2.next()) {
            equipment += srs2.getDouble("buy_price") * (srs2.getDouble("durability") / 100.00);
        }
    }

    srs1 = db.getJdbc().queryForRowSet("select name from info_product");
    ArrayList<String> products = new ArrayList<String>();
    while (srs1.next()) {
        products.add(srs1.getString("name"));
    }

    srs1 = db.getJdbc().queryForRowSet("select id,advertise,price from desc_advertisement");
    ArrayList<String> advertises = new ArrayList<String>(), idAds = new ArrayList<String>();
    ArrayList<Double> prices = new ArrayList<Double>();
    while (srs1.next()) {
        idAds.add(srs1.getString("id"));
        advertises.add(srs1.getString("advertise"));
        prices.add(srs1.getDouble("price"));
    }

    srs1 = db.getJdbc().queryForRowSet(
            "select name from businessgame.dbo.[user] where [zone]=(select [zone] from businessgame.dbo.[user] where name='"
                    + req.getParameter("user") + "')");
    ArrayList<String> players = new ArrayList<String>();
    ArrayList<Double> assets = new ArrayList<Double>();
    while (srs1.next()) {
        tmpd3 = 0;
        srs2 = db.getJdbc().queryForRowSet(
                "select money from businessgame.dbo.[user] where name='" + srs1.getString("name") + "'");
        if (srs2.next())
            tmpd3 += srs2.getDouble("money");
        else
            return "0";

        srs2 = db.getJdbc()
                .queryForRowSet("select id,[level] from storage where [user]='" + srs1.getString("name") + "'");
        while (srs2.next()) {
            srs3 = db.getJdbc().queryForRowSet(
                    "select size,avg_price from storage_product where storage='" + srs2.getString("id") + "'");
            while (srs3.next()) {
                tmpd3 += (srs3.getDouble("size") * srs3.getDouble("avg_price"));
            }
            srs3 = db.getJdbc().queryForRowSet(
                    "select buy_price,durability from storage_equipment,list_equipment where storage='"
                            + srs2.getString("id") + "' and storage_equipment.id=list_equipment.id");
            while (srs3.next()) {
                tmpd3 += srs3.getDouble("buy_price") * (srs3.getDouble("durability") / 100.00);
            }

            tmpd3 += tmpd1;
            for (int i = 1; i < srs2.getLong("level"); i++) {
                tmpd3 += tmpd2 * i;
            }
        }

        srs2 = db.getJdbc()
                .queryForRowSet("select borrow from borrow_bank where [user]='" + srs1.getString("name") + "'");
        while (srs2.next()) {
            tmpd3 += srs2.getDouble("borrow") * -1;
        }

        srs2 = db.getJdbc().queryForRowSet(
                "select installment.id,info_zone.cost,info_sector.cost from installment,info_zone,info_sector where [user]='"
                        + srs1.getString("name") + "' and info_zone.id=[zone] and info_sector.name=type");
        while (srs2.next()) {
            tmpd3 += srs2.getDouble(2) + srs2.getDouble(3);
            srs3 = db.getJdbc().queryForRowSet(
                    "select buy_price,durability from installment_equipment,list_equipment where installment='"
                            + srs2.getString(1) + "' and installment_equipment.id=list_equipment.id");
            while (srs3.next()) {
                tmpd3 += srs3.getDouble("buy_price") * (srs3.getDouble("durability") / 100.00);
            }
        }
        players.add(srs1.getString("name"));
        assets.add(tmpd3);
    }

    for (int i = 0; i < assets.size(); i++) {
        for (int j = i + 1; j < assets.size(); j++) {
            if (assets.get(i) < assets.get(j)) {
                user = players.get(i);
                tmpd3 = assets.get(i);
                players.set(i, players.get(j));
                assets.set(i, assets.get(j));
                players.set(j, user);
                assets.set(j, tmpd3);
            }
        }
    }

    ArrayList<String> data = new ArrayList<String>();
    data.add(gson.toJson(sectors));
    data.add(gson.toJson(sectorsLvl));
    data.add(gson.toJson(price));
    data.add(gson.toJson(contracts));
    data.add(gson.toJson(pendingContracts));
    data.add(gson.toJson(sales));
    data.add(gson.toJson(raw));
    data.add(gson.toJson(electricity));
    data.add(gson.toJson(fixed));
    data.add(gson.toJson(wage));
    data.add(gson.toJson(operation));
    data.add(gson.toJson(transport));
    data.add(gson.toJson(retribution));
    data.add(gson.toJson(advertisement));
    data.add(gson.toJson(interest));
    data.add(gson.toJson(depreciation));
    data.add(gson.toJson(tax));
    data.add(gson.toJson(cash));
    data.add(gson.toJson(rawOnStorage));
    data.add(gson.toJson(equipmentOnStorage));
    data.add(gson.toJson(loan));
    data.add(gson.toJson(storage));
    data.add(gson.toJson(equipment));
    data.add(gson.toJson(sector));
    data.add(gson.toJson(products));
    data.add(gson.toJson(idAds));
    data.add(gson.toJson(advertises));
    data.add(gson.toJson(prices));
    data.add(gson.toJson(players));

    val = gson.toJson(data);

    sectors = null;
    sectorsLvl = null;
    contracts = null;
    pendingContracts = null;
    data = null;
    contractType = null;
    user = null;
    products = null;
    advertises = null;
    prices = null;
    players = null;
    assets = null;
    zone = null;
    srs1 = null;
    srs2 = null;

    gc();

    return val;
}

From source file:com.ardhi.businessgame.services.BusinessGameService.java

private Installment getSingleUserInstallments(String id) {
    String hiElement = "";

    double hiVal = 0, tmpd1, tmpd2;
    int eff;/*from  www  . j av a 2 s  . co m*/
    SqlRowSet srs1 = db.getJdbc().queryForRowSet(
            "select [zone],type,draw,active from installment,info_sector where id='" + id + "' and name=type"),
            srs2, srs3;
    HashMap<String, Double> elementsRatio = new HashMap<String, Double>(),
            elements = new HashMap<String, Double>(), elementsCalc = new HashMap<String, Double>();
    Installment installment = null;
    boolean pass = false;

    if (srs1.next()) {
        hiElement = "";
        hiVal = 0;
        elementsRatio.clear();
        elements.clear();
        elementsCalc.clear();
        pass = true;

        srs2 = db.getJdbc()
                .queryForRowSet("select equipment_type,items from info_sector_equipment where sector='"
                        + srs1.getString("type") + "'");
        while (srs2.next()) {
            elementsRatio.put(srs2.getString("equipment_type"), srs2.getDouble("items"));
            if (hiVal < srs2.getDouble("items")) {
                hiElement = srs2.getString("equipment_type");
                hiVal = srs2.getDouble("items");
            }
            srs3 = db.getJdbc().queryForRowSet(
                    "select count(installment_equipment.id) from installment_equipment,list_equipment,desc_equipment where installment='"
                            + id + "' and desc_equipment.equipment='" + srs2.getString("equipment_type")
                            + "' and installment_equipment.id=list_equipment.id and list_equipment.[desc]=desc_equipment.id");
            srs3.next();
            elements.put(srs2.getString("equipment_type"), srs3.getDouble(1));
        }

        srs2 = db.getJdbc().queryForRowSet("select employee_type,items from info_sector_employee where sector='"
                + srs1.getString("type") + "'");
        while (srs2.next()) {
            elementsRatio.put(srs2.getString("employee_type"), srs2.getDouble("items"));
            if (hiVal < srs2.getDouble("items")) {
                hiElement = srs2.getString("employee_type");
                hiVal = srs2.getDouble("items");
            }
            srs3 = db.getJdbc().queryForRowSet(
                    "select count(installment_employee.id) from installment_employee,list_employee,desc_employee where installment='"
                            + id + "' and desc_employee.employee='" + srs2.getString("employee_type")
                            + "' and installment_employee.id=list_employee.id and list_employee.[desc]=desc_employee.id");
            srs3.next();
            elements.put(srs2.getString("employee_type"), srs3.getDouble(1));
        }

        //calculating:
        while (true) {
            for (String element : elementsRatio.keySet()) {
                if (element.equals(hiElement)) {
                    elementsCalc.put(element, elements.get(element));
                } else {
                    elementsCalc.put(element, (elementsRatio.get(element) * elements.get(hiElement))
                            / elementsRatio.get(hiElement));
                }
            }

            for (String element : elements.keySet()) {
                if (elements.get(element) < elementsCalc.get(element)) {
                    pass = false;
                    hiElement = element;
                    hiVal = elements.get(element);
                    break;
                } else {
                    pass = true;
                }
            }
            if (pass) {
                eff = elements.get(hiElement).intValue() / elementsRatio.get(hiElement).intValue();
                if (elements.get(hiElement) % elementsRatio.get(hiElement) > 0) {
                    hiVal = (elementsRatio.get(hiElement) * (eff + 1));
                    if (hiVal > 0)
                        tmpd1 = new BigDecimal(Double.valueOf(
                                elementsCalc.get(hiElement) / (elementsRatio.get(hiElement) * (eff + 1))))
                                        .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
                    else
                        tmpd1 = 0;
                    tmpd2 = eff + 1;
                } else {
                    hiVal = (elementsRatio.get(hiElement) * eff);
                    if (hiVal > 0)
                        tmpd1 = new BigDecimal(Double
                                .valueOf(elementsCalc.get(hiElement) / (elementsRatio.get(hiElement) * eff)))
                                        .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
                    else
                        tmpd1 = 0;
                    tmpd2 = eff;
                }
                installment = new Installment(id, srs1.getString("type"), srs1.getString("zone"), tmpd1, tmpd2,
                        srs1.getString("draw"), srs1.getBoolean("active"));
                break;
            }
        }
    }

    hiElement = null;
    srs1 = null;
    srs2 = null;
    srs3 = null;
    elements = null;
    elementsCalc = null;
    elementsRatio = null;

    gc();

    return installment;
}

From source file:com.ardhi.businessgame.services.BusinessGameService.java

public String attachEquipmentToInstallment(HttpServletRequest req) {
    String val = "0", sqls[];
    ArrayList<String> sqlL = new ArrayList<String>();

    sqlL.add("insert into installment_equipment values ('" + req.getParameter("idEquipment") + "','"
            + req.getParameter("idInstallment") + "')");
    sqlL.add("delete from storage_equipment where id='" + req.getParameter("idEquipment") + "'");

    sqls = new String[sqlL.size()];
    sqlL.toArray(sqls);//from   w w w. ja  va  2  s  . c  o  m
    db.getJdbc().batchUpdate(sqls);

    SqlRowSet srs1, srs2;

    srs1 = db.getJdbc().queryForRowSet(
            "select storage_equipment.id,equipment,quality,durability,size,operational,draw from storage_equipment,list_equipment,desc_equipment,info_equipment where storage='"
                    + req.getParameter("storage")
                    + "' and storage_equipment.id=list_equipment.id and list_equipment.[desc]=desc_equipment.id and name=equipment");

    ArrayList<StorageEquipment> equipments = new ArrayList<StorageEquipment>();
    while (srs1.next()) {
        srs2 = db.getJdbc().queryForRowSet(
                "select id from market_equipment where storage_equipment_id='" + srs1.getString("id") + "'");
        if (!srs2.next())
            equipments.add(new StorageEquipment(srs1.getString("id"), srs1.getString("equipment"),
                    srs1.getInt("quality"), srs1.getDouble("durability"), srs1.getDouble("size"),
                    srs1.getDouble("operational"), srs1.getString("draw")));
    }

    Installment installment = getSingleUserInstallments(req.getParameter("idInstallment"));

    ArrayList<String> data = new ArrayList<String>();
    data.add(gson.toJson(equipments));
    data.add(gson.toJson(installment));

    val = gson.toJson(data);

    sqlL = null;
    equipments = null;
    srs1 = null;
    srs2 = null;
    sqls = null;
    installment = null;
    data = null;

    gc();

    return val;
}

From source file:com.ardhi.businessgame.services.BusinessGameService.java

public String loadInstallmentDetails(HttpServletRequest req) {
    String val = "0";
    ArrayList<InstallmentEmployee> employees = new ArrayList<InstallmentEmployee>();
    ArrayList<InstallmentEquipment> equipments = new ArrayList<InstallmentEquipment>();
    ArrayList<String> data = new ArrayList<String>();

    SqlRowSet srs1 = db.getJdbc().queryForRowSet(
            "select installment_employee.id,employee,quality,operational,draw from installment_employee,list_employee,desc_employee,info_employee where installment='"
                    + req.getParameter("id")
                    + "' and installment_employee.id=list_employee.id and list_employee.[desc]=desc_employee.id and name=employee"),
            srs2;//from w  w w. j  av a2 s.  c om

    while (srs1.next()) {
        employees.add(new InstallmentEmployee(srs1.getString("id"), srs1.getString("employee"),
                srs1.getInt("quality"), srs1.getDouble("operational"), srs1.getString("draw")));
    }

    srs1 = db.getJdbc().queryForRowSet(
            "select installment_equipment.id,equipment,quality,durability,size,operational,draw from installment_equipment,desc_equipment,list_equipment,info_equipment where installment='"
                    + req.getParameter("id")
                    + "' and installment_equipment.id=list_equipment.id and list_equipment.[desc]=desc_equipment.id and name=equipment");
    while (srs1.next()) {
        equipments.add(new InstallmentEquipment(srs1.getString("id"), srs1.getString("equipment"),
                srs1.getInt("quality"), srs1.getDouble("durability"), srs1.getDouble("size"),
                srs1.getDouble("operational"), srs1.getString("draw")));
    }

    ArrayList<String> installmentIOdata = calculateInstallmentAndIOByIdInstallment(req.getParameter("id"));
    data.add(installmentIOdata.get(0));
    data.add(installmentIOdata.get(1));
    data.add(installmentIOdata.get(2));
    data.add(installmentIOdata.get(3));
    data.add(installmentIOdata.get(4));
    data.add(installmentIOdata.get(5));
    data.add(installmentIOdata.get(6));
    data.add(installmentIOdata.get(7));
    data.add(gson.toJson(equipments));
    data.add(gson.toJson(employees));

    if (installmentIOdata.get(0).equals("Petrol Power Plant")) {
        srs1 = db.getJdbc().queryForRowSet(
                "select subscription,tariff from installment where id='" + req.getParameter("id") + "'");
        double tariff, subscription;
        if (srs1.next()) {
            subscription = srs1.getDouble("subscription");
            tariff = srs1.getDouble("tariff");
        } else
            return "0";

        srs1 = db.getJdbc()
                .queryForRowSet("select id,type,[user],planned_supply from installment where supply='"
                        + req.getParameter("id") + "'");
        ArrayList<String> types = new ArrayList<String>(), users = new ArrayList<String>(),
                idSupplies = new ArrayList<String>();
        ArrayList<Double> supplies = new ArrayList<Double>();
        while (srs1.next()) {
            idSupplies.add(srs1.getString("id"));
            types.add(srs1.getString("type"));
            users.add(srs1.getString("user"));
            supplies.add(srs1.getDouble("planned_supply"));
        }

        data.add(gson.toJson(subscription));
        data.add(gson.toJson(tariff));
        data.add(gson.toJson(types));
        data.add(gson.toJson(users));
        data.add(gson.toJson(supplies));
        data.add(gson.toJson(idSupplies));

        val = gson.toJson(data);

        types = null;
        users = null;
        supplies = null;
        idSupplies = null;

    } else {
        srs1 = db.getJdbc().queryForRowSet(
                "select supply,planned_supply from installment where id='" + req.getParameter("id") + "'");
        ArrayList<String> idSupplies = new ArrayList<String>(), users = new ArrayList<String>(), tmpSupplies;
        ArrayList<Double> subscriptions = new ArrayList<Double>(), tariffs = new ArrayList<Double>(),
                availables = new ArrayList<Double>();
        JsonParser parser = new JsonParser();
        JsonArray array1;
        int tmp;
        double available, currentKwh;
        String currentSupply;

        if (srs1.next()) {
            currentKwh = srs1.getDouble("planned_supply");
            currentSupply = srs1.getString("supply");
        } else
            return "0";

        srs1 = db.getJdbc().queryForRowSet(
                "select id,[user],subscription,tariff from installment where type='Petrol Power Plant'");
        while (srs1.next()) {
            tmp = 0;
            tmpSupplies = calculateInstallmentAndIOByIdInstallment(srs1.getString("id"));
            array1 = parser.parse(tmpSupplies.get(5)).getAsJsonArray();
            for (int i = 0; i < array1.size(); i++) {
                if ((new Gson().fromJson(array1.get(i), String.class)).equals("Energy")) {
                    tmp = i;
                    break;
                }
            }
            array1 = parser.parse(tmpSupplies.get(6)).getAsJsonArray();
            available = new Gson().fromJson(array1.get(tmp), Double.class);
            srs2 = db.getJdbc().queryForRowSet(
                    "select planned_supply from installment where supply='" + srs1.getString("id") + "'");
            while (srs2.next())
                available -= srs2.getDouble("planned_supply");

            idSupplies.add(srs1.getString("id"));
            users.add(srs1.getString("user"));
            subscriptions.add(srs1.getDouble("subscription"));
            tariffs.add(srs1.getDouble("tariff"));
            availables.add(new BigDecimal(Double.valueOf(available)).setScale(2, BigDecimal.ROUND_HALF_EVEN)
                    .doubleValue());
            tmpSupplies = null;
        }

        data.add(gson.toJson(idSupplies));
        data.add(gson.toJson(users));
        data.add(gson.toJson(subscriptions));
        data.add(gson.toJson(tariffs));
        data.add(gson.toJson(availables));
        data.add(gson.toJson(currentKwh));
        data.add(gson.toJson(currentSupply));

        val = gson.toJson(data);

        idSupplies = null;
        users = null;
        tariffs = null;
        availables = null;
        currentSupply = null;
    }

    installmentIOdata = null;
    employees = null;
    equipments = null;
    data = null;
    srs1 = null;
    srs2 = null;

    gc();

    return val;
}

From source file:com.ardhi.businessgame.services.BusinessGameService.java

public String refreshClientData(HttpServletRequest req) {
    SqlRowSet srs;
    //      srs2 = db.getJdbc().queryForRowSet("select cost from info_zone where id='"+srs1.getString("zone")+"'");
    //      double propCost;
    //      if(srs2.next()){
    //         propCost = srs2.getDouble("cost");
    //      } else return "0";

    srs = db.getJdbc().queryForRowSet("select sector,cost from user_sector_blueprint,info_sector where [user]='"
            + req.getParameter("user") + "' and sector=name");
    HashMap<String, Double> sectorCosts = new HashMap<String, Double>();
    while (srs.next()) {
        sectorCosts.put(srs.getString("sector"), srs.getDouble("cost"));
    }//from  w  w w .  ja  v a 2s. c om

    String val = "0";
    srs = db.getJdbc().queryForRowSet("select money,rep,cost from [user],info_zone where name='"
            + req.getParameter("user") + "' and id=[zone]");
    User user;
    if (srs.next())
        user = new User("", "", "", "", srs.getDouble("money"), srs.getDouble("cost"), srs.getLong("rep"), "",
                0, new HashMap<String, String>(), new HashMap<String, String>(), new HashMap<String, String>(),
                sectorCosts, new ArrayList<Installment>());
    else
        return "0";

    val = gson.toJson(user);

    srs = null;
    sectorCosts = null;
    user = null;

    gc();

    return val;
}

From source file:com.ardhi.businessgame.services.BusinessGameService.java

public String sellStorageProduct(HttpServletRequest req) {
    String val = "0", idInc, sqls[];
    double remain, size, offer, basePrice, price, lowest, highest;
    ArrayList<String> sqlL = new ArrayList<String>();
    SqlRowSet srs1, srs2;

    //0 = internal error
    //1 = CBM yg ditawarkan lebih besar dari yg dimiliki
    //2 = harga melampaui 25% lebih murah dari harga jual yang disarankan
    //3 = harga melampaui 25% lebih mahal dari harga jual yang disarankan

    srs1 = db.getJdbc().queryForRowSet("select price,size from storage_product,desc_product where id='"
            + req.getParameter("productId") + "' and storage_product.[desc]=desc_product.id");
    if (srs1.next()) {
        size = srs1.getDouble("size");
        basePrice = srs1.getDouble("price");
    } else/*from   ww  w .  j a  va 2  s  .  c o m*/
        return "0";

    srs1 = db.getJdbc().queryForRowSet(
            "select size from market_product where storage_product_id='" + req.getParameter("productId") + "'");
    if (srs1.next())
        size -= srs1.getDouble("size");

    offer = Double.parseDouble(req.getParameter("offer"));
    price = Double.parseDouble(req.getParameter("price"));
    lowest = basePrice - (basePrice * 0.25);
    highest = basePrice + (basePrice * 0.25);

    if (size < offer)
        return "1";

    if (price < lowest)
        return "2";

    if (price > highest)
        return "3";

    srs1 = db.getJdbc()
            .queryForRowSet("select id,size from market_product where storage_product_id='"
                    + req.getParameter("productId") + "' and [zone]='" + req.getParameter("zone")
                    + "' and price='" + req.getParameter("price") + "'");
    if (srs1.next())
        sqlL.add("update market_product set size='" + (srs1.getDouble("size") + offer) + "' where id='"
                + srs1.getString("id") + "'");
    else {
        idInc = getUniqueIncrementIdNew("market_product");
        sqlL.add("insert into market_product values ('" + KEY_MARKET_PRODUCT + idInc + "','"
                + req.getParameter("productId") + "','','" + req.getParameter("zone") + "','"
                + req.getParameter("price") + "','" + offer + "')");
    }

    sqls = new String[sqlL.size()];
    sqlL.toArray(sqls);
    db.getJdbc().batchUpdate(sqls);

    val = "Ok";

    //      srs1 = db.getJdbc().queryForRowSet("select storage_product.id,product,quality,size,draw from storage_product,desc_product,info_product where storage='"+req.getParameter("storage")+"' and desc_product.id=storage_product.desc and product=name");
    //      ArrayList<StorageProduct> products = new ArrayList<StorageProduct>();
    //      while(srs1.next()){
    //         remain = srs1.getDouble("size");
    //         srs2 = db.getJdbc().queryForRowSet("select size from market_product where storage_product_id='"+srs1.getString("id")+"'");
    //         while(srs2.next()){
    //            remain -= srs2.getDouble("size");
    //         }
    //         if(remain > 0)
    //            products.add(new StorageProduct(srs1.getString("id"), srs1.getString("product"), srs1.getInt("quality"), new BigDecimal(Double.valueOf(remain)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(), srs1.getString("draw")));
    //      }

    srs1 = db.getJdbc().queryForRowSet(
            "select storage_product.id,product,quality,size,draw from storage_product,desc_product,info_product where storage='"
                    + req.getParameter("storage")
                    + "' and desc_product.id=storage_product.[desc] and product=name");
    ArrayList<StorageProduct> storageProducts = new ArrayList<StorageProduct>();
    ArrayList<MarketProduct> marketProducts = new ArrayList<MarketProduct>();
    while (srs1.next()) {
        remain = srs1.getDouble("size");

        srs2 = db.getJdbc().queryForRowSet(
                "select market_product.id,product,market_product.price,quality,market_product.size,draw from market_product,desc_product,info_product,storage_product where storage_product_id='"
                        + srs1.getString("id")
                        + "' and storage_product_id=storage_product.id and desc_product.id=storage_product.[desc] and product=name");
        while (srs2.next()) {
            remain -= srs2.getDouble("size");
            marketProducts.add(new MarketProduct(srs2.getString("id"), "", srs2.getString("product"),
                    srs2.getDouble("price"), srs2.getInt("quality"), srs2.getDouble("size"),
                    srs2.getString("draw")));
        }
        if (remain > 0)
            storageProducts
                    .add(new StorageProduct(srs1.getString("id"), srs1.getString("product"),
                            srs1.getInt("quality"), new BigDecimal(Double.valueOf(remain))
                                    .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(),
                            srs1.getString("draw")));
    }

    ArrayList<String> data = new ArrayList<String>();
    data.add(gson.toJson(storageProducts));
    data.add(gson.toJson(marketProducts));
    val = gson.toJson(data);

    sqlL = null;
    storageProducts = null;
    marketProducts = null;
    sqls = null;
    srs1 = null;
    srs2 = null;
    idInc = null;

    gc();

    return val;
}