Ticket #270: charge.diff

File charge.diff, 11.8 kB (added by arheops, 3 months ago)

updated in one file +small fix

  • DataBase/mysql-5.x/UPDATE-a2billing-v1.3.0-to-v1.4.0-mysql.sql

    old new  
    589589ALTER TABLE cc_ratecard ADD COLUMN additional_block_charge DECIMAL(15,5) NOT NULL DEFAULT 0; 
    590590ALTER TABLE cc_ratecard ADD COLUMN additional_block_charge_time INT NOT NULL DEFAULT 0; 
    591591ALTER TABLE cc_ratecard ADD COLUMN tag CHAR(50); 
     592ALTER TABLE cc_ratecard ADD COLUMN disconnectcharge_after INT NOT default 0; 
    592593 
    593594ALTER TABLE cc_card ADD COLUMN template_invoice VARCHAR( 100 ) ; 
    594595ALTER TABLE cc_card ADD COLUMN template_outstanding VARCHAR( 100 ) ; 
  • admin/Public/CC_entity_sim_ratecard.php

    old new  
    170170if ( (is_array($RateEngine->ratecard_obj)) && (!empty($RateEngine->ratecard_obj)) ){ 
    171171if ($FG_DEBUG == 1) print_r($RateEngine->ratecard_obj); 
    172172 
    173 $arr_ratecard=array('tariffgroupname', 'lcrtype', 'idtariffgroup', 'cc_tariffgroup_plan.idtariffplan', 'tariffname', 'destination', 'cc_ratecard.id' , 'dialprefix', 'destination', 'buyrate', 'buyrateinitblock', 'buyrateincrement', 'rateinitial', 'initblock', 'billingblock', 'connectcharge', 'disconnectcharge', 'stepchargea', 'chargea', 'timechargea', 'billingblocka', 'stepchargeb', 'chargeb', 'timechargeb', 'billingblockb', 'stepchargec', 'chargec', 'timechargec', 'billingblockc', 'tp_id_trunk', 'tp_trunk', 'providertech', 'tp_providerip', 'tp_removeprefix'); 
     173$arr_ratecard=array('tariffgroupname', 'lcrtype', 'idtariffgroup', 'cc_tariffgroup_plan.idtariffplan', 'tariffname', 'destination', 'cc_ratecard.id' , 'dialprefix', 'destination', 'buyrate', 'buyrateinitblock', 'buyrateincrement', 'rateinitial', 'initblock', 'billingblock', 'connectcharge', 'disconnectcharge','disconnectcharge_after', 'stepchargea', 'chargea', 'timechargea', 'billingblocka', 'stepchargeb', 'chargeb', 'timechargeb', 'billingblockb', 'stepchargec', 'chargec', 'timechargec', 'billingblockc', 'tp_id_trunk', 'tp_trunk', 'providertech', 'tp_providerip', 'tp_removeprefix'); 
    174174 
    175175$FG_TABLE_ALTERNATE_ROW_COLOR[0]='#CDC9C9'; 
    176176$FG_TABLE_ALTERNATE_ROW_COLOR[1]='#EEE9E9'; 
  • admin/Public/form_data/FG_var_def_ratecard.inc

    old new  
    11<?php 
    22 
    33getpost_ifset(array('id', 'idtariffplan', 'dialprefix', 'destination', 'buyrate', 'buyrateinitblock', 
    4 'buyrateincrement', 'rateinitial', 'initblock', 'billingblock', 'connectcharge', 'disconnectcharge', 
     4'buyrateincrement', 'rateinitial', 'initblock', 'billingblock', 'connectcharge', 'disconnectcharge','disconnectcharge_after', 
    55'stepchargea', 'chargea', 'timechargea', 'billingblocka', 'stepchargeb', 'chargeb', 'timechargeb', 
    66'billingblockb', 'stepchargec', 'chargec', 'timechargec', 'billingblockc', 'startdate', 'stopdate', 
    77'starttime', 'endtime', 'id_trunk', 'musiconhold','tariffplan', 'tariffgroup','posted','id_outbound_cidgroup','rounding_calltime', 'rounding_threshold', 'additional_block_charge', 'additional_block_charge_time', 'additional_grace','minimal_cost')); 
     
    271271   "12", 
    272272   gettext("Insert the disconnect charge"), 
    273273   "" , "", "", "", "", "", "NO", gettext("Apply a disconnection charge" )); 
    274   
     274$HD_Form -> AddEditElement(gettext("DISCONNECT CHARGE AFTER"), 
     275   "disconnectcharge_after", 
     276   '$value', 
     277   "INPUT", 
     278   "size=30 maxlength=20", 
     279   "12", 
     280   gettext("Insert the disconnect charge"), 
     281   "" , "", "", "", "", "", "NO", gettext("Apply a disconnection charge" )); 
     282 
     283 
    275284$HD_Form -> AddEditElement(gettext("MINIMUM CALL COST "), 
    276285   "minimal_cost", 
    277286   '$value', 
     
    532541 
    533542if (ADVANCED_MODE) { 
    534543        // This Variable store the argument for the SQL query 
    535         $HD_Form -> FieldEditElement ('idtariffplan, dialprefix, id_cc_prefix, destination, buyrate, buyrateinitblock, buyrateincrement, rateinitial, initblock, billingblock, connectcharge, disconnectcharge, minimal_cost, stepchargea, chargea, timechargea, billingblocka, stepchargeb, chargeb, timechargeb, billingblockb, stepchargec, chargec, timechargec, billingblockc, startdate, stopdate, starttime, endtime, rounding_calltime, rounding_threshold, additional_block_charge, additional_block_charge_time,additional_grace, id_trunk, id_outbound_cidgroup, tag, musiconhold'); 
     544        $HD_Form -> FieldEditElement ('idtariffplan, dialprefix, id_cc_prefix, destination, buyrate, buyrateinitblock, buyrateincrement, rateinitial, initblock, billingblock, connectcharge, disconnectcharge,disconnectcharge_after, minimal_cost, stepchargea, chargea, timechargea, billingblocka, stepchargeb, chargeb, timechargeb, billingblockb, stepchargec, chargec, timechargec, billingblockc, startdate, stopdate, starttime, endtime, rounding_calltime, rounding_threshold, additional_block_charge, additional_block_charge_time,additional_grace, id_trunk, id_outbound_cidgroup, tag, musiconhold'); 
    536545}else{ 
    537546        // This Variable store the argument for the SQL query 
    538         $HD_Form -> FieldEditElement ('idtariffplan, dialprefix, id_cc_prefix, destination, buyrate, buyrateinitblock, buyrateincrement,rateinitial, initblock, billingblock, connectcharge, disconnectcharge, minimal_cost, startdate, stopdate, starttime, endtime, rounding_calltime, rounding_threshold, additional_block_charge, additional_block_charge_time,additional_grace, id_trunk, id_outbound_cidgroup, tag'); 
     547        $HD_Form -> FieldEditElement ('idtariffplan, dialprefix, id_cc_prefix, destination, buyrate, buyrateinitblock, buyrateincrement,rateinitial, initblock, billingblock, connectcharge, disconnectcharge,disconnectcharge_after, minimal_cost, startdate, stopdate, starttime, endtime, rounding_calltime, rounding_threshold, additional_block_charge, additional_block_charge_time,additional_grace, id_trunk, id_outbound_cidgroup, tag'); 
    539548} 
    540549 
    541550 
  • admin/Public/CC_ratecard_import.php

    old new  
    262262                                <option value="billingblock"><?php echo gettext("billingblock");?></option> 
    263263                                <option value="connectcharge"><?php echo gettext("connectcharge");?></option> 
    264264                                <option value="disconnectcharge"><?php echo gettext("disconnectcharge");?></option> 
     265                                <option value="disconnectcharge_after"><?php echo gettext("disconnectcharge_after");?></option> 
    265266                                <option value="stepchargea"><?php echo gettext("stepchargea");?></option> 
    266267                                <option value="chargea"><?php echo gettext("chargea");?></option> 
    267268                                <option value="timechargea"><?php echo gettext("timechargea");?></option> 
  • common/lib/Form/Class.SearchHandler.inc.php

    old new  
    612612                                </font> 
    613613                        </td> 
    614614                </tr> 
     615<tr> 
     616          <td align="left" class="searchhandler_table4_td1"> 
     617                                <input name="check[upd_disconnectcharge_after]" type="checkbox" <?php if ($check["upd_disconnectcharge_after"]=="on") echo "checked"?>> 
     618                                <input name="mode[upd_disconnectcharge_after]" type="hidden" value="2"> 
     619                  </td> 
     620                  <td align="left" class="searchhandler_table4_td1"> 
     621 
     622                                <strong>11)&nbsp;<?php echo gettext("DISCONNECTCHARGE_AFTER");?>&nbsp;:</strong> 
     623                                        <input class="form_input_text" name="upd_disconnectcharge_after" size="10" maxlength="10" style="border: 2px inset rgb(204, 51, 0);" value="<?php if (isset($upd_disconnectcharge_after)) echo $upd_disconnectcharge_after; else echo '0';?>" > 
     624                                <font class="version"> 
     625                                <input type="radio" NAME="type[upd_disconnectcharge_after]" value="1" <?php if((!isset($type[upd_disconnectcharge_after]))|| ($type[upd_disconnectcharge_after]==1) ){?>checked<?php }?>> <?php echo gettext("Equal");?> 
     626 
     627                                <input type="radio" NAME="type[upd_disconnectcharge_after]" value="2" <?php if($type[upd_disconnectcharge_after]==2){?>checked<?php }?>> <?php echo gettext("Add");?> 
     628                                <input type="radio" NAME="type[upd_disconnectcharge_after]" value="3" <?php if($type[upd_disconnectcharge_after]==3){?>checked<?php }?>> <?php echo gettext("Substract");?> 
     629                                </font> 
     630                        </td> 
     631                </tr> 
     632 
     633 
     634 
     635 
    615636                <tr>             
    616637                        <td align="right" class="searchhandler_table4_td1"> 
    617638                        </td> 
  • common/lib/Class.RateEngine.php

    old new  
    180180                tp_trunk.failover_trunk AS tp_failover_trunk, rt_trunk.failover_trunk AS rt_failover_trunk,tp_trunk.addparameter AS tp_addparameter_trunk, rt_trunk.addparameter AS rt_addparameter_trunk, id_outbound_cidgroup, 
    181181        id_cc_package_offer,tp_trunk.status, rt_trunk.status, tp_trunk.inuse, rt_trunk.inuse,  
    182182        tp_trunk.maxuse,  rt_trunk.maxuse,tp_trunk.if_max_use, rt_trunk.if_max_use,cc_ratecard.rounding_calltime AS rounding_calltime, 
    183         cc_ratecard.rounding_threshold AS rounding_threshold,cc_ratecard.additional_block_charge AS additional_block_charge,cc_ratecard.additional_block_charge_time AS additional_block_charge_time, cc_ratecard.additional_grace AS additional_grace, cc_ratecard.minimal_cost AS minimal_cost 
     183        cc_ratecard.rounding_threshold AS rounding_threshold,cc_ratecard.additional_block_charge AS additional_block_charge,cc_ratecard.additional_block_charge_time AS additional_block_charge_time, cc_ratecard.additional_grace AS additional_grace, cc_ratecard.minimal_cost AS minimal_cost,disconnectcharge_after 
    184184 
    185185                FROM cc_tariffgroup 
    186186                RIGHT JOIN cc_tariffgroup_plan ON cc_tariffgroup_plan.idtariffgroup=cc_tariffgroup.id 
     
    343343                $billingblock                                   = $this -> ratecard_obj[$K][14]; 
    344344                $connectcharge                                  = a2b_round (abs($this -> ratecard_obj[$K][15])); 
    345345                $disconnectcharge                               = a2b_round (abs($this -> ratecard_obj[$K][16])); 
     346                $disconnectcharge_after                         = $this->ratecard_obj[$K][60]; 
    346347                $stepchargea                                    = $this -> ratecard_obj[$K][17]; 
    347348                $chargea                                                = a2b_round (abs($this -> ratecard_obj[$K][18])); 
    348349                $timechargea                                    = $this -> ratecard_obj[$K][19]; 
     
    440441                } 
    441442 
    442443                $credit -= $connectcharge; 
    443                 $credit -= $disconnectcharge; 
     444                if ($disconnectcharge_after==0){ 
     445                       $credit -= $disconnectcharge; no disconnenct charge on timeout if disconnectcharge_after is set 
     446               } 
     447 
    444448                //$credit -= ($initblock/60)*$rateinitial; 
    445449 
    446450                $callbackrate = array(); 
     
    716720                $billingblock                                   = $this -> ratecard_obj[$K][14]; 
    717721                $connectcharge                                  = a2b_round(abs($this -> ratecard_obj[$K][15])); 
    718722                $disconnectcharge                               = a2b_round(abs($this -> ratecard_obj[$K][16])); 
     723                $disconnectcharge_after                         = $this->ratecard_obj[$K][60]; 
    719724                $stepchargea                                    = $this -> ratecard_obj[$K][17]; 
    720725                $chargea                                                = a2b_round(abs($this -> ratecard_obj[$K][18])); 
    721726                $timechargea                                    = $this -> ratecard_obj[$K][19]; 
     
    749754 
    750755                $cost = 0; 
    751756                $cost -= $connectcharge; 
    752                 $cost -= $disconnectcharge; 
     757                if (($disconnectcharge_after>=$callduration)||($disconnectcharge_after==0)){ 
     758                $cost -= $disconnectcharge; 
     759                } 
    753760 
    754761                $this -> real_answeredtime = $callduration; 
    755762                $callduration =$callduration + $additional_grace_time;                   


Google