本文整理汇总了PHP中Infocom::Amort方法的典型用法代码示例。如果您正苦于以下问题:PHP Infocom::Amort方法的具体用法?PHP Infocom::Amort怎么用?PHP Infocom::Amort使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Infocom
的用法示例。
在下文中一共展示了Infocom::Amort方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: pdfForItem
static function pdfForItem(PluginPdfSimplePDF $pdf, CommonDBTM $item)
{
global $CFG_GLPI;
$ID = $item->getField('id');
if (!Session::haveRight("infocom", "r")) {
return false;
}
$ic = new Infocom();
$pdf->setColumnsSize(100);
if ($ic->getFromDBforDevice(get_class($item), $ID)) {
$pdf->displayTitle("<b>" . __('Financial and administrative information') . "</b>");
$pdf->setColumnsSize(50, 50);
$pdf->displayLine("<b><i>" . sprintf(__('%1$s: %2$s'), __('Supplier') . "</i></b>", Html::clean(Dropdown::getDropdownName("glpi_suppliers", $ic->fields["suppliers_id"]))), "<b><i>" . sprintf(__('%1$s: %2$s'), __('Budget') . "</i></b>", Html::clean(Dropdown::getDropdownName("glpi_budgets", $ic->fields["budgets_id"]))));
$pdf->displayLine("<b><i>" . sprintf(__('%1$s: %2$s'), __('Order number') . "</i></b>", $ic->fields["order_number"]), "<b><i>" . sprintf(__('%1$s: %2$s'), __('Order date') . "</i></b>", Html::convDate($ic->fields["order_date"])));
$pdf->displayLine("<b><i>" . sprintf(__('%1$s: %2$s'), __('Immobilization number') . "</i></b>", $ic->fields["immo_number"]), "<b><i>" . sprintf(__('%1$s: %2$s'), __('Date of purchase') . "</i></b>", Html::convDate($ic->fields["buy_date"])));
$pdf->displayLine("<b><i>" . sprintf(__('%1$s: %2$s'), __('Invoice number') . "</i></b>", $ic->fields["bill"]), "<b><i>" . sprintf(__('%1$s: %2$s'), __('Delivery date') . "</i></b>", Html::convDate($ic->fields["delivery_date"])));
$pdf->displayLine("<b><i>" . sprintf(__('%1$s: %2$s'), __('Delivery form') . "</i></b>", $ic->fields["delivery_number"]), "<b><i>" . sprintf(__('%1$s: %2$s'), __('Startup date') . "</i></b>", Html::convDate($ic->fields["use_date"])));
$pdf->displayLine("<b><i>" . sprintf(__('%1$s: %2$s'), __('Value') . "</i></b>", Html::clean(Html::formatNumber($ic->fields["value"]))), "<b><i>" . sprintf(__('%1$s: %2$s'), _('Date of last physical inventory') . "</i></b>", Html::convDate($ic->fields["inventory_date"])));
$pdf->displayLine("<b><i>" . sprintf(__('%1$s: %2$s'), __('Warranty extension value') . "</i></b>", Html::clean(Html::formatNumber($ic->fields["warranty_value"]))), "<b><i>" . sprintf(__('%1$s: %2$s'), __('Amortization duration') . "</i></b>", sprintf(__('%1$s (%2$s)'), sprintf(_n('%d year', '%d years', $ic->fields["sink_time"]), $ic->fields["sink_time"]), Infocom::getAmortTypeName($ic->fields["sink_type"]))));
$pdf->displayLine("<b><i>" . sprintf(__('%1$s: %2$s'), __('Account net value') . "</i></b>", Infocom::Amort($ic->fields["sink_type"], $ic->fields["value"], $ic->fields["sink_time"], $ic->fields["sink_coeff"], $ic->fields["warranty_date"], $ic->fields["use_date"], $CFG_GLPI['date_tax'], "n")), "<b><i>" . sprintf(__('%1$s: %2$s'), __('Amortization coefficient') . "</i></b>", $ic->fields["sink_coeff"]));
$pdf->displayLine("<b><i>" . sprintf(__('%1$s: %2$s'), __('TCO (value + tracking cost)') . "</i></b>", Html::clean(Infocom::showTco($item->getField('ticket_tco'), $ic->fields["value"]))), "<b><i>" . sprintf(__('%1$s: %2$s'), __('Monthly TCO') . "</i></b>", Html::clean(Infocom::showTco($item->getField('ticket_tco'), $ic->fields["value"], $ic->fields["warranty_date"]))));
PluginPdfCommon::mainLine($pdf, $ic, 'comment');
$pdf->setColumnsSize(100);
$pdf->displayTitle("<b>" . __('Warranty information') . "</b>");
$pdf->setColumnsSize(50, 50);
$pdf->displayLine("<b><i>" . sprintf(__('%1$s: %2$s'), __('Start date of warranty') . "</i></b>", Html::convDate($ic->fields["warranty_date"])), "<b><i>" . sprintf(__('%1$s: %2$s'), __('Warranty duration') . "</i></b>", sprintf(__('%1$s - %2$s'), sprintf(_n('%d month', '%d months', $ic->fields["warranty_duration"]), $ic->fields["warranty_duration"]), sprintf(__('Valid to %s'), Infocom::getWarrantyExpir($ic->fields["buy_date"], $ic->fields["warranty_duration"])))));
$col1 = "<b><i>" . __('Alarms on financial and administrative information') . "</i></b>";
if ($ic->fields["alert"] == 0) {
$col1 = sprintf(__('%1$s: %2$s'), $col1, __('No'));
} else {
if ($ic->fields["alert"] == 4) {
$col1 = sprintf(__('%1$s: %2$s'), $col1, __('Warranty expiration date'));
}
}
$pdf->displayLine("<b><i>" . sprintf(__('%1$s: %2$s'), __('Warranty information') . "</i></b>", $ic->fields["warranty_info"]), $col1);
} else {
$pdf->displayTitle("<b>" . __('No financial information', 'pdf') . "</b>");
}
$pdf->displaySpace();
}
示例2: display_infocoms_report
/** Display an infocom report for items like consumables
*
* @param $itemtype item type
* @param $begin begin date
* @param $end end date
**/
function display_infocoms_report($itemtype, $begin, $end)
{
global $DB, $valeurtot, $valeurnettetot, $valeurnettegraphtot, $valeurgraphtot, $CFG_GLPI;
$itemtable = getTableForItemType($itemtype);
$query = "SELECT `glpi_infocoms`.*\n FROM `glpi_infocoms`\n INNER JOIN `{$itemtable}`\n ON (`{$itemtable}`.`id` = `glpi_infocoms`.`items_id`\n AND `glpi_infocoms`.`itemtype`='{$itemtype}') ";
switch ($itemtype) {
case 'Consumable':
$query .= " INNER JOIN `glpi_consumableitems`\n ON (`glpi_consumables`.`consumableitems_id` = `glpi_consumableitems`.`id`) " . getEntitiesRestrictRequest("WHERE", "glpi_consumableitems");
break;
case 'Cartridge':
$query .= " INNER JOIN `glpi_cartridgeitems`\n ON (`glpi_cartridges`.`cartridgeitems_id` = `glpi_cartridgeitems`.`id`) " . getEntitiesRestrictRequest("WHERE", "glpi_cartridgeitems");
break;
case 'SoftwareLicense':
$query .= " INNER JOIN `glpi_softwares`\n ON (`glpi_softwarelicenses`.`softwares_id` = `glpi_softwares`.`id`) " . getEntitiesRestrictRequest("WHERE", "glpi_softwarelicenses");
break;
}
if (!empty($begin)) {
$query .= " AND (`glpi_infocoms`.`buy_date` >= '{$begin}'\n OR `glpi_infocoms`.`use_date` >= '{$begin}')";
}
if (!empty($end)) {
$query .= " AND (`glpi_infocoms`.`buy_date` <= '{$end}'\n OR `glpi_infocoms`.`use_date` <= '{$end}')";
}
if ($result = $DB->query($query)) {
if ($DB->numrows($result) > 0 && ($item = getItemForItemtype($itemtype))) {
echo "<h2>" . $item->getTypeName(1) . "</h2>";
echo "<table class='tab_cadre'>";
$valeursoustot = 0;
$valeurnettesoustot = 0;
$valeurnettegraph = array();
$valeurgraph = array();
while ($line = $DB->fetch_assoc($result)) {
if ($itemtype == 'SoftwareLicense') {
$item->getFromDB($line["items_id"]);
if ($item->fields["serial"] == "global") {
if ($item->fields["number"] > 0) {
$line["value"] *= $item->fields["number"];
}
}
}
if ($line["value"] > 0) {
$valeursoustot += $line["value"];
}
$valeurnette = Infocom::Amort($line["sink_type"], $line["value"], $line["sink_time"], $line["sink_coeff"], $line["buy_date"], $line["use_date"], $CFG_GLPI["date_tax"], "n");
$tmp = Infocom::Amort($line["sink_type"], $line["value"], $line["sink_time"], $line["sink_coeff"], $line["buy_date"], $line["use_date"], $CFG_GLPI["date_tax"], "all");
if (is_array($tmp) && count($tmp) > 0) {
foreach ($tmp["annee"] as $key => $val) {
if ($tmp["vcnetfin"][$key] > 0) {
if (!isset($valeurnettegraph[$val])) {
$valeurnettegraph[$val] = 0;
}
$valeurnettegraph[$val] += $tmp["vcnetdeb"][$key];
}
}
}
if (!empty($line["buy_date"])) {
$year = substr($line["buy_date"], 0, 4);
if ($line["value"] > 0) {
if (!isset($valeurgraph[$year])) {
$valeurgraph[$year] = 0;
}
$valeurgraph[$year] += $line["value"];
}
}
$valeurnettesoustot += str_replace(" ", "", $valeurnette);
}
$valeurtot += $valeursoustot;
$valeurnettetot += $valeurnettesoustot;
if (count($valeurnettegraph) > 0) {
echo "<tr><td colspan='5' class='center'>";
ksort($valeurnettegraph);
$valeurnettegraphdisplay = array_map('round', $valeurnettegraph);
foreach ($valeurnettegraph as $key => $val) {
if (!isset($valeurnettegraphtot[$key])) {
$valeurnettegraphtot[$key] = 0;
}
$valeurnettegraphtot[$key] += $valeurnettegraph[$key];
}
Stat::showGraph(array(__('Account net value') => $valeurnettegraphdisplay), array('title' => __('Account net value'), 'width' => 400));
echo "</td></tr>\n";
}
if (count($valeurgraph) > 0) {
echo "<tr><td colspan='5' class='center'>";
ksort($valeurgraph);
$valeurgraphdisplay = array_map('round', $valeurgraph);
foreach ($valeurgraph as $key => $val) {
if (!isset($valeurgraphtot[$key])) {
$valeurgraphtot[$key] = 0;
}
$valeurgraphtot[$key] += $valeurgraph[$key];
}
Stat::showGraph(array(_x('price', 'Value') => $valeurgraphdisplay), array('title' => _x('price', 'Value'), 'width' => 400));
echo "</td></tr>";
}
echo "</table>\n";
//.........这里部分代码省略.........
示例3: display_infocoms_report
/** Display an infocom report
*
* @param $itemtype item type
* @param $begin begin date
* @param $end end date
**/
function display_infocoms_report($itemtype, $begin, $end)
{
global $DB, $valeurtot, $valeurnettetot, $valeurnettegraphtot, $valeurgraphtot, $LANG, $CFG_GLPI;
$itemtable = getTableForItemType($itemtype);
$query = "SELECT `glpi_infocoms`.*,\n `{$itemtable}`.`name` AS name,\n `{$itemtable}`.`ticket_tco`,\n `glpi_entities`.`completename` AS entname,\n `glpi_entities`.`id` AS entID\n FROM `glpi_infocoms`\n INNER JOIN `{$itemtable}` ON (`{$itemtable}`.`id` = `glpi_infocoms`.`items_id`\n AND `glpi_infocoms`.`itemtype` = '{$itemtype}')\n LEFT JOIN `glpi_entities` ON (`{$itemtable}`.`entities_id` = `glpi_entities`.`id`)\n WHERE `{$itemtable}`.`is_template` = '0' " . getEntitiesRestrictRequest("AND", $itemtable);
if (!empty($begin)) {
$query .= " AND (`glpi_infocoms`.`buy_date` >= '{$begin}'\n OR `glpi_infocoms`.`use_date` >= '{$begin}') ";
}
if (!empty($end)) {
$query .= " AND (`glpi_infocoms`.`buy_date` <= '{$end}'\n OR `glpi_infocoms`.`use_date` <= '{$end}') ";
}
$query .= " ORDER BY entname ASC, `buy_date`, `use_date`";
$display_entity = isMultiEntitiesMode();
$result = $DB->query($query);
if ($DB->numrows($result) > 0) {
$item = new $itemtype();
echo "<h2>" . $item->getTypeName() . "</h2>";
echo "<table class='tab_cadre'><tr><th>" . $LANG['common'][16] . "</th>";
if ($display_entity) {
echo "<th>" . $LANG['entity'][0] . "</th>";
}
echo "<th>" . $LANG['financial'][21] . "</th><th>" . $LANG['financial'][92] . "</th>";
echo "<th>" . $LANG['financial'][91] . "</th><th>" . $LANG['financial'][14] . "</th>";
echo "<th>" . $LANG['financial'][76] . "</th><th>" . $LANG['financial'][80] . "</th></tr>";
$valeursoustot = 0;
$valeurnettesoustot = 0;
$valeurnettegraph = array();
$valeurgraph = array();
while ($line = $DB->fetch_array($result)) {
if (isset($line["is_global"]) && $line["is_global"]) {
$line["value"] *= Computer_Item::countForItem($itemtype, $line["items_id"]);
}
if ($line["value"] > 0) {
$valeursoustot += $line["value"];
}
$valeurnette = Infocom::Amort($line["sink_type"], $line["value"], $line["sink_time"], $line["sink_coeff"], $line["buy_date"], $line["use_date"], $CFG_GLPI["date_tax"], "n");
$tmp = Infocom::Amort($line["sink_type"], $line["value"], $line["sink_time"], $line["sink_coeff"], $line["buy_date"], $line["use_date"], $CFG_GLPI["date_tax"], "all");
if (is_array($tmp) && count($tmp) > 0) {
foreach ($tmp["annee"] as $key => $val) {
if ($tmp["vcnetfin"][$key] > 0) {
if (!isset($valeurnettegraph[$val])) {
$valeurnettegraph[$val] = 0;
}
$valeurnettegraph[$val] += $tmp["vcnetdeb"][$key];
}
}
}
if (!empty($line["buy_date"])) {
$year = substr($line["buy_date"], 0, 4);
if ($line["value"] > 0) {
if (!isset($valeurgraph[$year])) {
$valeurgraph[$year] = 0;
}
$valeurgraph[$year] += $line["value"];
}
}
$valeurnettesoustot += str_replace(" ", "", $valeurnette);
echo "<tr class='tab_bg_1'><td>" . $line["name"] . "</td>";
if ($display_entity) {
if ($line['entID'] == 0) {
echo "<td>" . $LANG['entity'][2] . "</td>";
} else {
echo "<td>" . $line['entname'] . "</td>";
}
}
echo "<td class='right'>" . formatNumber($line["value"]) . "</td><td class='right'>" . formatNumber($valeurnette) . "</td><td class='right'>" . Infocom::showTco($line["ticket_tco"], $line["value"]) . "</td><td>" . convDate($line["buy_date"]) . "</td><td>" . convDate($line["use_date"]) . "</td><td>" . getWarrantyExpir($line["buy_date"], $line["warranty_duration"]) . "</td></tr>";
}
$valeurtot += $valeursoustot;
$valeurnettetot += $valeurnettesoustot;
echo "<tr><td colspan='6' class='center'><h3>" . $LANG['common'][33] . " : " . $LANG['financial'][21] . "=" . formatNumber($valeursoustot) . " - " . $LANG['financial'][81] . "=" . formatNumber($valeurnettesoustot) . "</h3></td></tr>";
if (count($valeurnettegraph) > 0) {
echo "<tr><td colspan='5' class='center'>";
ksort($valeurnettegraph);
$valeurnettegraphdisplay = array_map('round', $valeurnettegraph);
foreach ($valeurnettegraph as $key => $val) {
if (!isset($valeurnettegraphtot[$key])) {
$valeurnettegraphtot[$key] = 0;
}
$valeurnettegraphtot[$key] += $valeurnettegraph[$key];
}
Stat::showGraph(array($LANG['financial'][81] => $valeurnettegraphdisplay), array('title' => $LANG['financial'][81], 'width' => 400));
echo "</td></tr>";
}
if (count($valeurgraph) > 0) {
echo "<tr><td colspan='5' class='center'>";
ksort($valeurgraph);
$valeurgraphdisplay = array_map('round', $valeurgraph);
foreach ($valeurgraph as $key => $val) {
if (!isset($valeurgraphtot[$key])) {
$valeurgraphtot[$key] = 0;
}
$valeurgraphtot[$key] += $valeurgraph[$key];
}
Stat::showGraph(array($LANG['financial'][21] => $valeurgraphdisplay), array('title' => $LANG['financial'][21], 'width' => 400));
//.........这里部分代码省略.........
示例4: display_infocoms_report
/** Display an infocom report
*
* @param $itemtype item type
* @param $begin begin date
* @param $end end date
**/
function display_infocoms_report($itemtype, $begin, $end)
{
global $DB, $valeurtot, $valeurnettetot, $valeurnettegraphtot, $valeurgraphtot, $CFG_GLPI;
$itemtable = getTableForItemType($itemtype);
$query = "SELECT `glpi_infocoms`.*,\n `{$itemtable}`.`name` AS name,\n `{$itemtable}`.`ticket_tco`,\n `glpi_entities`.`completename` AS entname,\n `glpi_entities`.`id` AS entID\n FROM `glpi_infocoms`\n INNER JOIN `{$itemtable}` ON (`{$itemtable}`.`id` = `glpi_infocoms`.`items_id`\n AND `glpi_infocoms`.`itemtype` = '{$itemtype}')\n LEFT JOIN `glpi_entities` ON (`{$itemtable}`.`entities_id` = `glpi_entities`.`id`)\n WHERE `{$itemtable}`.`is_template` = '0' " . getEntitiesRestrictRequest("AND", $itemtable);
if (!empty($begin)) {
$query .= " AND (`glpi_infocoms`.`buy_date` >= '{$begin}'\n OR `glpi_infocoms`.`use_date` >= '{$begin}') ";
}
if (!empty($end)) {
$query .= " AND (`glpi_infocoms`.`buy_date` <= '{$end}'\n OR `glpi_infocoms`.`use_date` <= '{$end}') ";
}
$query .= " ORDER BY entname ASC, `buy_date`, `use_date`";
$display_entity = Session::isMultiEntitiesMode();
$result = $DB->query($query);
if ($DB->numrows($result) > 0 && ($item = getItemForItemtype($itemtype))) {
echo "<h2>" . $item->getTypeName(1) . "</h2>";
echo "<table class='tab_cadre'><tr><th>" . __('Name') . "</th>";
if ($display_entity) {
echo "<th>" . __('Entity') . "</th>";
}
echo "<th>" . _x('price', 'Value') . "</th><th>" . __('ANV') . "</th>";
echo "<th>" . __('TCO') . "</th><th>" . __('Date of purchase') . "</th>";
echo "<th>" . __('Startup date') . "</th><th>" . __('Warranty expiration date') . "</th></tr>";
$valeursoustot = 0;
$valeurnettesoustot = 0;
$valeurnettegraph = array();
$valeurgraph = array();
while ($line = $DB->fetch_assoc($result)) {
if (isset($line["is_global"]) && $line["is_global"] && $item->getFromDB($line["items_id"])) {
$line["value"] *= Computer_Item::countForItem($item);
}
if ($line["value"] > 0) {
$valeursoustot += $line["value"];
}
$valeurnette = Infocom::Amort($line["sink_type"], $line["value"], $line["sink_time"], $line["sink_coeff"], $line["buy_date"], $line["use_date"], $CFG_GLPI["date_tax"], "n");
$tmp = Infocom::Amort($line["sink_type"], $line["value"], $line["sink_time"], $line["sink_coeff"], $line["buy_date"], $line["use_date"], $CFG_GLPI["date_tax"], "all");
if (is_array($tmp) && count($tmp) > 0) {
foreach ($tmp["annee"] as $key => $val) {
if ($tmp["vcnetfin"][$key] > 0) {
if (!isset($valeurnettegraph[$val])) {
$valeurnettegraph[$val] = 0;
}
$valeurnettegraph[$val] += $tmp["vcnetdeb"][$key];
}
}
}
if (!empty($line["buy_date"])) {
$year = substr($line["buy_date"], 0, 4);
if ($line["value"] > 0) {
if (!isset($valeurgraph[$year])) {
$valeurgraph[$year] = 0;
}
$valeurgraph[$year] += $line["value"];
}
}
$valeurnettesoustot += str_replace(" ", "", $valeurnette);
echo "<tr class='tab_bg_1'><td>" . $line["name"] . "</td>";
if ($display_entity) {
echo "<td>" . $line['entname'] . "</td>";
}
echo "<td class='right'>" . Html::formatNumber($line["value"]) . "</td>" . "<td class='right'>" . Html::formatNumber($valeurnette) . "</td>" . "<td class='right'>" . Infocom::showTco($line["ticket_tco"], $line["value"]) . "</td>" . "<td>" . Html::convDate($line["buy_date"]) . "</td>" . "<td>" . Html::convDate($line["use_date"]) . "</td>" . "<td>" . Infocom::getWarrantyExpir($line["buy_date"], $line["warranty_duration"]) . "</td></tr>";
}
$valeurtot += $valeursoustot;
$valeurnettetot += $valeurnettesoustot;
$tmpmsg = sprintf(__('Total: Value=%1$s - Account net value=%2$s'), Html::formatNumber($valeursoustot), Html::formatNumber($valeurnettesoustot));
echo "<tr><td colspan='6' class='center'><h3>{$tmpmsg}</h3></td></tr>";
if (count($valeurnettegraph) > 0) {
echo "<tr><td colspan='5' class='center'>";
ksort($valeurnettegraph);
$valeurnettegraphdisplay = array_map('round', $valeurnettegraph);
foreach ($valeurnettegraph as $key => $val) {
if (!isset($valeurnettegraphtot[$key])) {
$valeurnettegraphtot[$key] = 0;
}
$valeurnettegraphtot[$key] += $valeurnettegraph[$key];
}
Stat::showGraph(array(__('Account net value') => $valeurnettegraphdisplay), array('title' => __('Account net value'), 'width' => 400));
echo "</td></tr>";
}
if (count($valeurgraph) > 0) {
echo "<tr><td colspan='5' class='center'>";
ksort($valeurgraph);
$valeurgraphdisplay = array_map('round', $valeurgraph);
foreach ($valeurgraph as $key => $val) {
if (!isset($valeurgraphtot[$key])) {
$valeurgraphtot[$key] = 0;
}
$valeurgraphtot[$key] += $valeurgraph[$key];
}
Stat::showGraph(array(_x('price', 'Value') => $valeurgraphdisplay), array('title' => _x('price', 'Value'), 'width' => 400));
echo "</td></tr>";
}
echo "</table>";
return true;
//.........这里部分代码省略.........