/**
  * Récupération du code tarif du séjour
  *
  * @param DOMNode $node     PV1 Node
  * @param CSejour $newVenue Admit
  *
  * @return void
  */
 function getFinancialClass(DOMNode $node, CSejour $newVenue)
 {
     $sender = $this->_ref_sender;
     if ($sender->_configs["handle_PV1_20"] == "none") {
         return;
     }
     $systeme_presta = CAppUI::conf("dPhospi prestations systeme_prestations", "CGroups-" . $newVenue->group_id);
     if ($systeme_presta == "standard") {
         return;
     }
     // Uniquement pour les prestas expertes
     $prestation = explode("#", $this->queryTextNode("PV1.20", $node));
     $presta_name = CMbArray::get($prestation, 0);
     $item_name = CMbArray::get($prestation, 1);
     $item_presta = new CItemPrestation();
     if ($item_name) {
         // Chargement de la prestation journalière
         $presta_journa = new CPrestationJournaliere();
         $presta_journa->nom = $presta_name;
         $presta_journa->loadMatchingObject();
         $item_presta->object_class = "CPrestationJournaliere";
         $item_presta->object_id = $presta_journa->_id;
     } else {
         $item_name = $presta_name;
     }
     // Chargement d'un item de prestation
     $item_presta->nom = $item_name;
     $item_presta->loadMatchingObject();
     if (!$item_presta->_id) {
         return;
     }
     $item_liaison = new CItemLiaison();
     $ljoin = array("item_prestation" => "item_prestation.item_prestation_id = item_liaison.item_souhait_id", "prestation_journaliere" => "item_prestation.object_id = prestation_journaliere_id");
     $where["item_liaison.sejour_id"] = " = '{$newVenue->_id}'";
     $where["item_liaison.date"] = " = '" . CMbDT::date($newVenue->entree) . "'";
     $where["prestation_journaliere.prestation_journaliere_id"] = " = '{$presta_journa->_id}'";
     $item_liaison->loadObject($where, null, null, $ljoin);
     if (!$item_liaison->_id) {
         $item_liaison->sejour_id = $newVenue->_id;
         $item_liaison->date = CMbDT::date($newVenue->entree);
     }
     $item_liaison->item_souhait_id = $item_presta->_id;
     $item_liaison->_eai_sender_guid = $sender->_guid;
     $item_liaison->store();
 }
예제 #2
0
$direction = CValue::get("direction");
$item_id = CValue::getOrSession("item_id");
$item = new CItemPrestation();
$item->load($item_id_move);
switch ($direction) {
    case "up":
        $item->rank--;
        break;
    case "down":
        $item->rank++;
}
$item_to_move = new CItemPrestation();
$item_to_move->object_class = $item->object_class;
$item_to_move->object_id = $item->object_id;
$item_to_move->rank = $item->rank;
$item_to_move->loadMatchingObject();
if ($item_to_move->_id) {
    $direction == "up" ? $item_to_move->rank++ : $item_to_move->rank--;
    $item_to_move->store();
}
$item->store();
$prestation = new $item->object_class();
$prestation->load($item->object_id);
$items = $prestation->loadBackRefs("items", "rank");
$i = 1;
foreach ($items as $item) {
    $item->rank = $i;
    $item->store();
    $i++;
}
$item = new CItemPrestation();