Driver Settlement - #3232 - math
This commit is contained in:
parent
29c0a6ff33
commit
842b8c0b21
@ -3,22 +3,29 @@
|
||||
class Controller_Api_Settlement extends Crunchbutton_Controller_RestAccount {
|
||||
|
||||
public function init() {
|
||||
|
||||
/*
|
||||
$set = new Settlement;
|
||||
|
||||
$order = Order::o( 24464 );
|
||||
|
||||
$order = Order::o( 24462 );
|
||||
$order = Order::o( 24463 );
|
||||
$order = Order::o( 24464 );
|
||||
|
||||
$vars = [ $set->orderExtractVariables( $order ) ];
|
||||
$vars = [
|
||||
$set->orderExtractVariables( Order::o( 24464 ) ),
|
||||
$set->orderExtractVariables( Order::o( 24463 ) ),
|
||||
$set->orderExtractVariables( Order::o( 24462 ) ),
|
||||
];
|
||||
|
||||
|
||||
echo '<pre>';var_dump( $set->driversProcessOrders( $vars ) );exit();
|
||||
// $this->_driverBegin();
|
||||
echo json_encode( $set->driversProcessOrders( $vars ) );exit;
|
||||
|
||||
$this->_driverBegin();
|
||||
|
||||
|
||||
|
||||
exit;
|
||||
|
||||
*/
|
||||
if( !c::admin()->permission()->check( ['global', 'settlement' ] ) ){
|
||||
$this->_error();
|
||||
}
|
||||
@ -409,6 +416,8 @@ echo '<pre>';var_dump( $set->driversProcessOrders( $vars ) );exit();
|
||||
$_order[ 'restaurant' ] = $order[ 'restaurant' ];
|
||||
$_order[ 'pay_type' ] = ucfirst( $order[ 'pay_type' ] );
|
||||
$_order[ 'total' ] = $order[ 'final_price_plus_delivery_markup' ];
|
||||
$_order[ 'total_reimburse' ] = $order[ 'pay_info' ][ 'total_reimburse' ] ;
|
||||
$_order[ 'total_payment' ] = $order[ 'pay_info' ][ 'total_payment' ] ;
|
||||
$_order[ 'date' ] = $order[ 'date' ];
|
||||
$_order[ 'included' ] = !$order[ 'do_not_pay_driver' ];
|
||||
if( !$_order[ 'included' ] ){
|
||||
@ -417,7 +426,7 @@ echo '<pre>';var_dump( $set->driversProcessOrders( $vars ) );exit();
|
||||
$driver[ 'orders' ][] = $_order;
|
||||
$total_orders++;
|
||||
}
|
||||
$driver[ 'total_due_without_adjustment' ] = $driver[ 'total_due' ];
|
||||
$driver[ 'total_payment_without_adjustment' ] = $driver[ 'total_payment' ];
|
||||
$driver[ 'adjustment' ] = 0;
|
||||
$driver[ 'pay' ] = true;
|
||||
$driver[ 'orders_count' ] = count( $driver[ 'orders' ] );
|
||||
@ -428,7 +437,6 @@ echo '<pre>';var_dump( $set->driversProcessOrders( $vars ) );exit();
|
||||
} else {
|
||||
$out[ 'drivers' ][] = $driver;
|
||||
}
|
||||
$total_payments += $driver[ 'total_due' ];
|
||||
}
|
||||
echo json_encode( $out );
|
||||
}
|
||||
|
||||
@ -50,7 +50,9 @@ class Crunchbutton_Settlement extends Cana_Model {
|
||||
AND NAME NOT LIKE "%test%"
|
||||
ORDER BY `date` ASC ';
|
||||
// todo: do not commit with this line
|
||||
$query = 'SELECT * FROM `order` WHERE id_order IN( 24515,24505,24497,24420,24407,24484,24495,24457,24438,24429,24493,24460,24450,24427,24418,24455,24406,24409,24513,24476,24435,24501,24494,24456,24421,24423,24403,24408,24424,24449,24504,24436,24434,24417,24516,24485,24488,24437,24451,24512,24507,24500,24466,24422,24496,24432,24425,24487,24498,24433,24405,24411,24483,24474,24473,24472,24419,24415,24471,24443,24416,24503,24499,24492,24490,24448,24446,24414,24413,24491,24447,24412,24509,24506,24479,24478,24462,24461,24428,24508,24475,24463,24440,24489,24486,24514,24464,24431,24458,24430,24511,24404,24470,24482,24459,24467,24502,24480,24426 ) order by id_order desc';
|
||||
// $query = 'SELECT * FROM `order` WHERE id_order IN( 24462, 24463, 24464 ) order by id_order desc';
|
||||
// $query = 'SELECT * FROM `order` WHERE id_order IN( 24515,24505,24497,24420,24407,24484,24495,24457,24438,24429,24493,24460,24450,24427,24418,24455,24406,24409,24513,24476,24435,24501,24494,24456,24421,24423,24403,24408,24424,24449,24504,24436,24434,24417,24516,24485,24488,24437,24451,24512,24507,24500,24466,24422,24496,24432,24425,24487,24498,24433,24405,24411,24483,24474,24473,24472,24419,24415,24471,24443,24416,24503,24499,24492,24490,24448,24446,24414,24413,24491,24447,24412,24509,24506,24479,24478,24462,24461,24428,24508,24475,24463,24440,24489,24486,24514,24464,24431,24458,24430,24511,24404,24470,24482,24459,24467,24502,24480,24426 ) order by id_order desc';
|
||||
// $query = 'SELECT * FROM `order` WHERE id_order IN( 13809,13808,13806,13803,13802,13800,13794,13793,13791,13789,13784,13782,13781,13780,13778,13774,13772,13771,13770,13768,13762,13761,13748,13747,13731,13728,13727,13726,13708,13707,13705,13704,13703,13699,13698,13690,13689,13688,13687,13685,13684,13683,13681,13679,13678,13675,13673,13672,13671,13667,13662,13660,13658,13657,13656,13653,13652,13651,13637,13632,13619,13618,13617,13613,13612,13611,13608,13607,13606,13604,13603,13601,13599,13598,13596,13594,13592,13588,13585,13584,13583,13582,13581,13579,13578,13577,13576,13572,13569,13562,13557,13548,13546,13538,13534,13532,13530,13527,13522,13521,13519,13517,13515,13511,13510,13508,13504,13493,13491,13483,13477,13468,13467,13465,13464,13463,13462,13461,13459,13457,13456,13455,13454,13443,13442,13440,13439,13438,13436,13435,13424,13419,13407,13404,13396,13395,13385,13384,13383,13381,13380,13377,13374,13370,13369,13367,13360,13357,13356,13355,13353,13345,13344,13328,13325,13324,13323,13322,13321,13320,13316,13315,13314,13311,13306,13304,13301,13299,13296,13293,13278,13262,13717,13674,13641,13610,13609,13597,13529,13526,13525,13466,13362,13655,13744,13494,13414,13409,13408,13399,13388,13359,13350,13297,13289,13732,13670,13458,13452,13718,13600,13595,13512,13444,13441,13400,13317,13308,13280,13276,13779,13752,13722,13713,13697,13605,13482,13413,13264,13661,13633,13496,13365,13757,13733,13724,13723,13715,13627,13621,13574,13567,13566,13555,13553,13543,13535,13503,13498,13427,13393,13624,13623,13550,13263,13734,13725,13415,13351,13268,13736,13634,13475,13417,13544,13397,13285,13284,13735,13341,13799,13785,13766,13730,13702,13696,13692,13686,13682,13677,13665,13590,13589,13568,13565,13536,13518,13516,13513,13433,13411,13405,13368,13319,13291,13265,13797,13788,13783,13769,13746,13745,13738,13729,13720,13719,13711,13691,13676,13669,13663,13650,13645,13644,13642,13636,13626,13602,13586,13552,13545,13542,13540,13514,13500,13499,13481,13476,13449,13448,13447,13445,13437,13434,13432,13430,13428,13426,13423,13416,13392,13387,13376,13373,13366,13364,13361,13336,13335,13318,13313,13312,13303,13302,13290,13269,13710,13292,13750,13286,13382,13267,13739,13716,13469,13271,13334,13547,13497,13480,13394,13391,13277,13807,13764,13554,13531,13528,13472,13406,13330,13307,13638,13635,13741,13495,13283,13714,13375,13629,13622,13420,13616,13506,13777,13759,13668,13580,13573,13502,13484,13473,13421,13352,13343,13282,13709,13706,13620,13470,13332,13509,13649,13765,13763,13666,13628,13570,13563,13541,13489,13487,13471,13425,13422,13418,13333,13273,13614,13533,13524,13460,13776,13694,13680,13615,13520,13453,13331,13281,13275,13558,13485,13310,13551,13753,13295,13266,13279,13805,13804,13801,13796,13756,13754,13751,13701,13700,13695,13693,13664,13654,13593,13587,13575,13571,13564,13556,13523,13507,13505,13501,13492,13450,13446,13431,13429,13372,13363,13358,13309,13305,13379,13272,13591,13486,13340,13537,13560,13410,13354,13755,13749,13740,13647,13561,13559,13288,13287,13625,13398,13339,13338,13294,13742,13640,13630,13349,13347,13346,13737,13643,13639,13490,13479,13478,13386,13270,13760,13659,13648 ) order by id_order desc';
|
||||
return Order::q( $query );
|
||||
}
|
||||
|
||||
@ -138,27 +140,42 @@ class Crunchbutton_Settlement extends Cana_Model {
|
||||
$pay[ $driver ][ 'id_admin' ] = $driver;
|
||||
$pay[ $driver ][ 'name' ] = $order[ 'driver' ];
|
||||
}
|
||||
$pay[ $driver ][ 'orders' ][] = 1;//$order;
|
||||
|
||||
|
||||
if( $order[ 'do_not_pay_driver' ] == 1 ){
|
||||
continue;
|
||||
}
|
||||
$order[ 'pay_info' ] = [];
|
||||
$order[ 'pay_info' ][ 'subtotal' ] = $this->orderSubtotalDriveryPay( $order );
|
||||
$order[ 'pay_info' ][ 'tax' ] = $this->orderTaxDriverPay( $order );
|
||||
$order[ 'pay_info' ][ 'delivery_fee' ] = $this->orderDeliveryFeeDriverPay( $order );
|
||||
$order[ 'pay_info' ][ 'tip' ] = $this->orderTipDriverPay( $order );
|
||||
$order[ 'pay_info' ][ 'customer_fee' ] = $this->orderCustomerFeeDriverPay( $order );
|
||||
$order[ 'pay_info' ][ 'markup' ] = $this->orderMarkupDriverPay( $order );
|
||||
$order[ 'pay_info' ][ 'credit_charge' ] = $this->orderCreditChargeDriverPay( $order );
|
||||
$order[ 'pay_info' ][ 'restaurant_fee' ] = $this->orderRestaurantFeeDriverPay( $order );
|
||||
$order[ 'pay_info' ][ 'gift_card' ] = $this->orderGiftCardDriverPay( $order );
|
||||
$order[ 'pay_info' ][ 'total_reimburse' ] = $this->orderReimburseDriver( $order );
|
||||
$order[ 'pay_info' ][ 'total_payment' ] = $this->orderCalculateTotalDueDriver( $order[ 'pay_info' ] );
|
||||
|
||||
$pay[ $driver ][ 'orders' ][] = $order;
|
||||
// echo json_encode( $order_info );exit;
|
||||
$pay[ $driver ][ 'subtotal' ] += $order[ 'pay_info' ][ 'subtotal' ];
|
||||
$pay[ $driver ][ 'tax' ] += $order[ 'pay_info' ][ 'tax' ];
|
||||
$pay[ $driver ][ 'delivery_fee' ] += $order[ 'pay_info' ][ 'delivery_fee' ];
|
||||
$pay[ $driver ][ 'tip' ] += $order[ 'pay_info' ][ 'tip' ];
|
||||
$pay[ $driver ][ 'customer_fee' ] += $order[ 'pay_info' ][ 'customer_fee' ];
|
||||
$pay[ $driver ][ 'markup' ] += $order[ 'pay_info' ][ 'markup' ];
|
||||
$pay[ $driver ][ 'credit_charge' ] += $order[ 'pay_info' ][ 'credit_charge' ];
|
||||
$pay[ $driver ][ 'restaurant_fee' ] += $order[ 'pay_info' ][ 'restaurant_fee' ];
|
||||
$pay[ $driver ][ 'gift_card' ] += $order[ 'pay_info' ][ 'gift_card' ];
|
||||
$pay[ $driver ][ 'total_reimburse' ] += $order[ 'pay_info' ][ 'total_reimburse' ];
|
||||
|
||||
$pay[ $driver ][ 'subtotal' ] += $this->orderSubtotalDriveryPay( $order );
|
||||
$pay[ $driver ][ 'tax' ] += $this->orderTaxDriverPay( $order );
|
||||
$pay[ $driver ][ 'delivery_fee' ] += $this->orderDeliveryFeeDriverPay( $order );
|
||||
$pay[ $driver ][ 'tip' ] += $this->orderTipDriverPay( $order );
|
||||
$pay[ $driver ][ 'customer_fee' ] += $this->orderCustomerFeeDriverPay( $order );
|
||||
$pay[ $driver ][ 'markup' ] += $this->orderMarkupDriverPay( $order );
|
||||
$pay[ $driver ][ 'credit_charge' ] += $this->orderCreditChargeDriverPay( $order );
|
||||
$pay[ $driver ][ 'restaurant_fee' ] += $this->orderRestaurantFeeDriverPay( $order );
|
||||
$pay[ $driver ][ 'gift_card' ] += $this->orderGiftCardDriverPay( $order );
|
||||
$pay[ $driver ][ 'reimburse' ] += $this->orderReimburseDriver( $order );
|
||||
}
|
||||
}
|
||||
|
||||
foreach( $pay as $key => $val ){
|
||||
$pay[ $key ][ 'total_due' ] = $this->orderCalculateTotalDueDriver( $pay[ $key ] );
|
||||
$pay[ $key ][ 'total_payment' ] = $this->orderCalculateTotalDueDriver( $pay[ $key ] );
|
||||
}
|
||||
|
||||
usort( $pay, function( $a, $b ) {
|
||||
@ -178,7 +195,7 @@ class Crunchbutton_Settlement extends Cana_Model {
|
||||
$pay[ 'credit_charge' ] +
|
||||
$pay[ 'restaurant_fee' ] +
|
||||
$pay[ 'gift_card' ] -
|
||||
$pay[ 'reimburse' ];
|
||||
$pay[ 'total_reimburse' ];
|
||||
return $total_due;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user