List of usage examples for org.springframework.jdbc.support.rowset SqlRowSet getString
String getString(String columnLabel) throws InvalidResultSetAccessException;
From source file:com.ardhi.businessgame.services.BusinessGameService.java
public String loadInstallmentOwnedByEquipment(HttpServletRequest req) { String val = "0", hiElement = "", equipmentType; double hiVal = 0, tmpd1, tmpd2; int eff;/*from w ww .j a v a2s.co m*/ SqlRowSet srs1 = db.getJdbc() .queryForRowSet("select equipment from list_equipment,desc_equipment where list_equipment.id='" + req.getParameter("id") + "' and list_equipment.[desc]=desc_equipment.id"), srs2, srs3; HashMap<String, Double> elementsRatio = new HashMap<String, Double>(), elements = new HashMap<String, Double>(), elementsCalc = new HashMap<String, Double>(); ArrayList<Installment> installments = new ArrayList<Installment>(); boolean pass = false; srs1.next(); equipmentType = srs1.getString("equipment"); srs1 = db.getJdbc().queryForRowSet( "select installment.id,[zone],type,draw,active from info_sector_equipment,installment,info_sector where equipment_type='" + equipmentType + "' and [user]='" + req.getParameter("user") + "' and [zone]=(select [zone] from businessgame.dbo.[user] where name='" + req.getParameter("user") + "') and installment.type=sector and type=name"); while (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='" + srs1.getString("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='" + srs1.getString("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; } installments.add( new Installment(srs1.getString("id"), srs1.getString("type"), srs1.getString("zone"), tmpd1, tmpd2, srs1.getString("draw"), srs1.getBoolean("active"))); break; } } } val = gson.toJson(installments); hiElement = null; elementsRatio = null; elements = null; elementsCalc = null; installments = null; gc(); return val; }
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);// w w w.j a v a 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 createNewInstallment(HttpServletRequest req) { String val = "", idInc, sqls[], draw; double money, cost; ArrayList<String> sqlL = new ArrayList<String>(); //0=internal error //1=blueprint ga punya (kemungkinan user nge-cheat) //2=uang ga cukup SqlRowSet srs = db.getJdbc().queryForRowSet("select id from user_sector_blueprint where user='" + req.getParameter("user") + "' and sector='" + req.getParameter("type") + "'"); if (!srs.next()) return "1"; srs = db.getJdbc().queryForRowSet("select money from [user] where name='" + req.getParameter("user") + "'"); if (srs.next()) money = srs.getDouble("money"); else//from ww w . j ava 2s . c om return "0"; srs = db.getJdbc() .queryForRowSet("select cost,draw from info_sector where name='" + req.getParameter("type") + "'"); if (srs.next()) { cost = srs.getDouble("cost"); draw = srs.getString("draw"); } else return "0"; srs = db.getJdbc().queryForRowSet("select cost from info_zone where id='" + req.getParameter("zone") + "'"); if (srs.next()) cost += srs.getDouble("cost"); else return "0"; if (money < cost) return "2"; money -= cost; sqlL.add("update [user] set money='" + money + "' where name='" + req.getParameter("user") + "'"); idInc = getUniqueIncrementIdNew("installment"); sqlL.add("insert into installment values ('" + KEY_INSTALLMENT + idInc + "','" + req.getParameter("user") + "','" + req.getParameter("zone") + "','" + req.getParameter("type") + "','',0,0,0,0,0)"); sqls = new String[sqlL.size()]; sqlL.toArray(sqls); db.getJdbc().batchUpdate(sqls); Installment tmp = new Installment(KEY_INSTALLMENT + idInc, req.getParameter("type"), req.getParameter("zone"), 0, 0, draw, false); ArrayList<String> data = new ArrayList<String>(); data.add(gson.toJson(money)); data.add(gson.toJson(tmp)); val = gson.toJson(data); sqlL = null; sqls = null; idInc = null; srs = null; tmp = null; gc(); return val; }
From source file:com.ardhi.businessgame.services.BusinessGameService.java
public String checkUserStorage(HttpServletRequest req) { String val = "No", id = ""; boolean isAvailable; SqlRowSet srs1, srs2; double tmp = 0; ArrayList<String> data = new ArrayList<String>(); srs1 = db.getJdbc()//w ww .j av a 2 s .c om .queryForRowSet("select [level] from storage where id='" + req.getParameter("storage") + "'"); isAvailable = srs1.next(); if (isAvailable) { id = req.getParameter("storage"); } else { srs1 = db.getJdbc().queryForRowSet("select id,[level] from storage where [user]='" + req.getParameter("user") + "' and [zone]='" + req.getParameter("zone") + "'"); isAvailable = srs1.next(); if (isAvailable) id = srs1.getString("id"); } if (isAvailable) { int level = srs1.getInt("level") - 1; double capacity = 0, fill = 0, upgrade = 0, inc = 0; srs1 = db.getJdbc().queryForRowSet( "select [value] from info_values where name='storage' union select [value] from info_values where name='storage_inc' union select [value] from info_values where name='cost_storage_upgrade'"); if (srs1.next()) { capacity = Double.parseDouble(srs1.getString("value")); } else return "0"; if (srs1.next()) { capacity += level * Double.parseDouble(srs1.getString("value")); inc = Double.parseDouble(srs1.getString("value")); } else return "0"; if (srs1.next()) { upgrade = Double.parseDouble(srs1.getString("value")); } else return "0"; srs1 = db.getJdbc().queryForRowSet( "select storage_product.id,product,quality,size,draw from storage_product,desc_product,info_product where storage='" + id + "' 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()) { tmp = 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()) { tmp -= 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 (tmp > 0) storageProducts.add(new StorageProduct(srs1.getString("id"), srs1.getString("product"), srs1.getInt("quality"), new BigDecimal(Double.valueOf(tmp)) .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(), srs1.getString("draw"))); fill += srs1.getDouble("size"); } 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='" + id + "' and storage_equipment.id=list_equipment.id and list_equipment.[desc]=desc_equipment.id and name=equipment"); ArrayList<StorageEquipment> storageEquipments = new ArrayList<StorageEquipment>(); ArrayList<MarketEquipment> marketEquipments = new ArrayList<MarketEquipment>(); while (srs1.next()) { srs2 = db.getJdbc().queryForRowSet( "select market_equipment.id,equipment,market_equipment.price,quality,durability,size,operational,draw from storage_equipment,market_equipment,desc_equipment,list_equipment,info_equipment where storage_equipment_id='" + srs1.getString("id") + "' and storage_equipment.id=storage_equipment_id and list_equipment.id=storage_equipment.id and list_equipment.[desc]=desc_equipment.id and equipment=name"); if (srs2.next()) { marketEquipments.add(new MarketEquipment(srs2.getString("id"), "", srs2.getString("equipment"), srs2.getDouble("price"), srs2.getInt("quality"), srs2.getDouble("durability"), srs2.getDouble("size"), srs2.getDouble("operational"), srs2.getString("draw"))); } else { storageEquipments.add(new StorageEquipment(srs1.getString("id"), srs1.getString("equipment"), srs1.getInt("quality"), srs1.getDouble("durability"), srs1.getDouble("size"), srs1.getDouble("operational"), srs1.getString("draw"))); } fill += srs1.getDouble("size"); } data.add(gson.toJson(isAvailable)); data.add(gson.toJson(capacity)); data.add(gson.toJson(fill)); data.add(gson.toJson(upgrade)); data.add(gson.toJson(inc)); data.add(gson.toJson(level + 1)); data.add(gson.toJson(storageProducts)); data.add(gson.toJson(storageEquipments)); data.add(gson.toJson(marketProducts)); data.add(gson.toJson(marketEquipments)); val = gson.toJson(data); storageProducts = null; storageEquipments = null; marketProducts = null; marketEquipments = null; } else { srs2 = db.getJdbc().queryForRowSet("select [value] from info_values where name='cost_storage'"); if (srs2.next()) { data.add(gson.toJson(isAvailable)); data.add(gson.toJson(Double.parseDouble(srs2.getString("value")))); val = gson.toJson(data); } else return "0"; } data = null; srs1 = null; srs2 = null; gc(); return val; }
From source file:com.ardhi.businessgame.services.BusinessGameService.java
public String queryTotalBundle(HttpServletRequest req) { String val = ""; int quality;//from w w w . j av a 2 s. c o m double total = 0; ArrayList<String> data = new ArrayList<String>(); SqlRowSet srs1 = db.getJdbc() .queryForRowSet("select type from installment where id='" + req.getParameter("installment") + "'"), srs2; if (srs1.next()) { if (req.getParameter("quality") == null) { srs2 = db.getJdbc().queryForRowSet("select quality from info_quality where from_base='1'"); if (srs2.next()) quality = srs2.getInt("quality"); else return "0"; } else quality = Integer.parseInt(req.getParameter("quality")); srs2 = db.getJdbc() .queryForRowSet("select price,items from desc_equipment,info_sector_equipment where sector='" + srs1.getString("type") + "' and quality='" + quality + "' and desc_equipment.equipment=equipment_type"); while (srs2.next()) { total += srs2.getDouble("price") * srs2.getInt("items"); } srs2 = db.getJdbc() .queryForRowSet("select price,items from desc_employee,info_sector_employee where sector='" + srs1.getString("type") + "' and quality='" + quality + "' and desc_employee.employee=employee_type"); while (srs2.next()) { total += srs2.getDouble("price") * srs2.getInt("items"); } data.add(srs1.getString("type")); data.add(gson.toJson(total)); val = gson.toJson(data); } else return "0"; srs1 = null; srs2 = null; data = 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;// ww w. java 2s .c o 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 loadBankData(HttpServletRequest req) { String val = ""; SqlRowSet srs = db.getJdbc() .queryForRowSet("select id from req_borrow_bank where [user]='" + req.getParameter("user") + "'"); if (srs.next()) return "1"; srs = db.getJdbc()//from w w w . ja v a 2 s . c om .queryForRowSet("select id from borrow_bank where [user]='" + req.getParameter("user") + "'"); if (srs.next()) return "2"; ArrayList<String> sectorList = new ArrayList<String>(), data = new ArrayList<String>(); ArrayList<Double> priceList = new ArrayList<Double>(); ArrayList<BusinessSectorInfo> bsiList = new ArrayList<BusinessSectorInfo>(); ArrayList<IndustrialEquipmentInfo> ie; ArrayList<EmployeeInfo> e; ArrayList<InputInfo> i; ArrayList<OutputInfo> o; double tmpd1, tmpd2; srs = db.getJdbc().queryForRowSet("select name, cost from info_sector"); while (srs.next()) { sectorList.add(srs.getString("name")); priceList.add(srs.getDouble("cost")); } srs = db.getJdbc().queryForRowSet( "select cost from info_zone where id=(select [zone] from businessgame.dbo.[user] where name='" + req.getParameter("user") + "')"); if (srs.next()) tmpd1 = srs.getDouble("cost"); else return "0"; srs = db.getJdbc().queryForRowSet("select [value] from info_values where name='cost_storage'"); if (srs.next()) tmpd2 = Double.parseDouble(srs.getString("value")); else return "0"; for (String sector : sectorList) { srs = db.getJdbc().queryForRowSet( "select equipment_type,items,base_price,base_operational from info_sector_equipment,info_equipment where equipment_type=info_equipment.name and info_sector_equipment.sector='" + sector + "'"); ie = new ArrayList<IndustrialEquipmentInfo>(); while (srs.next()) { ie.add(new IndustrialEquipmentInfo(srs.getString("equipment_type"), srs.getInt("items"), srs.getDouble("base_price"), srs.getDouble("base_operational"))); } srs = db.getJdbc().queryForRowSet( "select employee_type,items,base_price,base_operational from info_sector_employee,info_employee where employee_type=info_employee.name and info_sector_employee.sector='" + sector + "'"); e = new ArrayList<EmployeeInfo>(); while (srs.next()) { e.add(new EmployeeInfo(srs.getString("employee_type"), srs.getInt("items"), srs.getDouble("base_price"), srs.getDouble("base_operational"))); } srs = db.getJdbc().queryForRowSet( "select input_type,base_price,size from info_sector_input,info_product where input_type=info_product.name and info_sector_input.sector='" + sector + "'"); i = new ArrayList<InputInfo>(); while (srs.next()) { i.add(new InputInfo(srs.getString("input_type"), srs.getDouble("size"), srs.getDouble("base_price"))); } srs = db.getJdbc().queryForRowSet( "select output_type,base_price,size from info_sector_output,info_product where output_type=info_product.name and info_sector_output.sector='" + sector + "'"); o = new ArrayList<OutputInfo>(); while (srs.next()) { o.add(new OutputInfo(srs.getString("output_type"), srs.getDouble("size"), srs.getDouble("base_price"))); } bsiList.add(new BusinessSectorInfo(ie, e, i, o)); ie = null; e = null; i = null; o = null; } data.add(gson.toJson(sectorList)); data.add(gson.toJson(priceList)); data.add(gson.toJson(tmpd1)); data.add(gson.toJson(tmpd2)); data.add(gson.toJson(bsiList)); val = gson.toJson(data); sectorList = null; priceList = null; bsiList = null; data = null; srs = null; gc(); return val; }
From source file:com.ardhi.businessgame.services.BusinessGameService.java
public String cancelOfferEquipment(HttpServletRequest req) { String val = ""; db.getJdbc().execute("delete from market_equipment where id='" + req.getParameter("id") + "'"); SqlRowSet srs1, srs2; srs1 = db.getJdbc().queryForRowSet(/*from w w w . j a va2s . c o m*/ "select storage_equipment.id,equipment,quality,durability,size,operational,draw from storage_equipment,list_equipment,desc_equipment,info_equipment where storage=(select id from storage where [user]='" + req.getParameter("user") + "' and [zone]='" + req.getParameter("zone") + "') and storage_equipment.id=list_equipment.id and list_equipment.[desc]=desc_equipment.id and name=equipment"); ArrayList<StorageEquipment> storageEquipments = new ArrayList<StorageEquipment>(); ArrayList<MarketEquipment> marketEquipments = new ArrayList<MarketEquipment>(); while (srs1.next()) { srs2 = db.getJdbc().queryForRowSet( "select market_equipment.id,equipment,market_equipment.price,quality,durability,size,operational,draw from storage_equipment,market_equipment,desc_equipment,list_equipment,info_equipment where storage_equipment_id='" + srs1.getString("id") + "' and storage_equipment.id=storage_equipment_id and list_equipment.id=storage_equipment.id and list_equipment.[desc]=desc_equipment.id and equipment=name"); if (srs2.next()) { marketEquipments.add(new MarketEquipment(srs2.getString("id"), "", srs2.getString("equipment"), srs2.getDouble("price"), srs2.getInt("quality"), srs2.getDouble("durability"), srs2.getDouble("size"), srs2.getDouble("operational"), srs2.getString("draw"))); } else { storageEquipments.add(new StorageEquipment(srs1.getString("id"), srs1.getString("equipment"), srs1.getInt("quality"), srs1.getDouble("durability"), srs1.getDouble("size"), srs1.getDouble("operational"), srs1.getString("draw"))); } } ArrayList<String> data = new ArrayList<String>(); data.add(gson.toJson(storageEquipments)); data.add(gson.toJson(marketEquipments)); val = gson.toJson(data); data = null; marketEquipments = null; storageEquipments = null; srs1 = null; srs2 = null; gc(); return val; }
From source file:com.ardhi.businessgame.services.BusinessGameService.java
/** * Calculate the installment's details. More likely, a ratio of equipment, employee, input and * output provided in one installment./*from w w w. ja va 2 s .co m*/ * * @param idInstallment The id of an installment being called. * @return List of information regarding the details of an installment. The output will come as * follow : (0) type installment, (1) calculated efficiency, (2) calculated effectivity, * (3) list of input, (4) list of input ratio, (5) list of output, (6) list of output ratio, * (7) whether the installment is active/inactive state. * */ private ArrayList<String> calculateInstallmentAndIOByIdInstallment(String idInstallment) { String hiElement = ""; double hiVal = 0, efficiency = 0, effectivity = 0; int eff; SqlRowSet srs1 = db.getJdbc() .queryForRowSet("select type,active from installment where id='" + idInstallment + "'"), srs2, srs3; HashMap<String, Double> elementsRatio = new HashMap<String, Double>(), elements = new HashMap<String, Double>(), elementsCalc = new HashMap<String, Double>(); ArrayList<String> data = new ArrayList<String>(), input = new ArrayList<String>(), output = new ArrayList<String>(); ArrayList<Double> inputVal = new ArrayList<Double>(), outputVal = new ArrayList<Double>(); 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='" + idInstallment + "' 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='" + idInstallment + "' 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) efficiency = new BigDecimal(Double.valueOf( elementsCalc.get(hiElement) / (elementsRatio.get(hiElement) * (eff + 1)))) .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); else efficiency = 0; effectivity = eff + 1; } else { hiVal = (elementsRatio.get(hiElement) * eff); if (hiVal > 0) efficiency = new BigDecimal(Double .valueOf(elementsCalc.get(hiElement) / (elementsRatio.get(hiElement) * eff))) .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); else efficiency = 0; effectivity = eff; } srs2 = db.getJdbc() .queryForRowSet("select input_type,size from info_sector_input where sector='" + srs1.getString("type") + "'"); while (srs2.next()) { input.add(srs2.getString("input_type")); inputVal.add( new BigDecimal(Double.valueOf(srs2.getDouble("size") * effectivity * efficiency)) .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); } srs2 = db.getJdbc() .queryForRowSet("select output_type,size from info_sector_output where sector='" + srs1.getString("type") + "'"); while (srs2.next()) { output.add(srs2.getString("output_type")); outputVal.add( new BigDecimal(Double.valueOf(srs2.getDouble("size") * effectivity * efficiency)) .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); } break; } } } data.add(srs1.getString("type")); data.add(gson.toJson(efficiency)); data.add(gson.toJson(effectivity)); data.add(gson.toJson(input)); data.add(gson.toJson(inputVal)); data.add(gson.toJson(output)); data.add(gson.toJson(outputVal)); data.add(gson.toJson(srs1.getBoolean("active"))); input = null; inputVal = null; output = null; outputVal = null; srs1 = null; srs2 = null; srs3 = null; gc(); return data; }
From source file:com.ardhi.businessgame.services.BusinessGameService.java
/** * Getting all user's installments, regardless of its type (or sector, in specifically).. * @param user/*w w w. j a v a2 s . c o m*/ * @return list of installment in ArrayList<Installment> */ private ArrayList<Installment> getUserInstallments(String user) { String hiElement = ""; double hiVal = 0, tmpd1, tmpd2; int eff; SqlRowSet srs1 = db.getJdbc() .queryForRowSet("select id,[zone],type,draw,active from installment,info_sector where [user]='" + user + "' and [zone]=(select [zone] from businessgame.dbo.[user] where name='" + user + "') and name=type"), srs2, srs3; HashMap<String, Double> elementsRatio = new HashMap<String, Double>(), elements = new HashMap<String, Double>(), elementsCalc = new HashMap<String, Double>(); ArrayList<Installment> installments = new ArrayList<Installment>(); boolean pass = false; while (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='" + srs1.getString("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='" + srs1.getString("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; } installments.add( new Installment(srs1.getString("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 installments; }