コード例 #1
0
 static function deleteOrphans($user_id)
 {
     Debug::text('Attempting to delete Orphaned Records for User ID: ' . $user_id, __FILE__, __LINE__, __METHOD__, 10);
     //Remove orphaned entries
     $alf = new AccrualListFactory();
     $alf->getOrphansByUserId($user_id);
     Debug::text('Found Orphaned Records: ' . $alf->getRecordCount(), __FILE__, __LINE__, __METHOD__, 10);
     if ($alf->getRecordCount() > 0) {
         foreach ($alf as $a_obj) {
             Debug::text('Orphan Record ID: ' . $a_obj->getID(), __FILE__, __LINE__, __METHOD__, 10);
             $accrual_policy_ids[] = $a_obj->getAccrualPolicyId();
             $a_obj->Delete();
         }
         //ReCalc balances
         if (isset($accrual_policy_ids)) {
             foreach ($accrual_policy_ids as $accrual_policy_id) {
                 AccrualBalanceFactory::calcBalance($user_id, $accrual_policy_id);
             }
         }
     }
     return TRUE;
 }
コード例 #2
0
 * $Id: fix_client_balance.php 1246 2007-09-14 23:47:42Z ipso $
 * $Date: 2007-09-14 16:47:42 -0700 (Fri, 14 Sep 2007) $
 */
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR . 'global.inc.php';
require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR . 'CLI.inc.php';
if ($argc < 2 or in_array($argv[1], array('--help', '-help', '-h', '-?'))) {
    $help_output = "Usage: fix_accrual_balance.php [company_id]\n";
    echo $help_output;
} else {
    $company_id = $argv[1];
    if ($company_id != '') {
        $ablf = new AccrualBalanceListFactory();
        $ablf->getByCompanyId($company_id);
        $ablf->StartTransaction();
        $alf = new AccrualListFactory();
        foreach ($ablf as $ab_obj) {
            $alf->getOrphansByUserId($ab_obj->getUser());
            if ($alf->getRecordCount() > 0) {
                foreach ($alf as $a_obj) {
                    Debug::text('Orphan Record ID: ' . $a_obj->getID(), __FILE__, __LINE__, __METHOD__, 10);
                    $a_obj->Delete();
                }
            }
            AccrualBalanceFactory::calcBalance($ab_obj->getUser(), $ab_obj->getAccrualPolicyID());
            //break;
        }
        //$ablf->FailTransaction();
        $ablf->CommitTransaction();
    }
}
Debug::Display();