Last active
July 24, 2017 08:08
-
-
Save xlanor/58331a7668dee1c341eb0d5637b174d5 to your computer and use it in GitHub Desktop.
Pulling data from a CSV file and working with database mechanics.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
include ('connection.php'); | |
$csvFile = file('sales_by_biz_details.csv'); | |
$csv = array_map('str_getcsv', $csvFile); | |
$headers = $csv[0]; | |
unset($csv[0]); | |
$rowsWithKeys = []; | |
foreach ($csv as $row) | |
{ | |
$newRow = []; | |
foreach ($headers as $k => $key) | |
{ | |
$newRow[$key] = $row[$k]; | |
} | |
$rowsWithKeys[] = $newRow; | |
} | |
$testarray=array(); | |
$newarray1 = array(); | |
$counter = 0; | |
foreach ($rowsWithKeys as $row) | |
{ | |
$invoiceid = $row['Invoice']; | |
if (!array_key_exists($invoiceid, $testarray)) | |
{ | |
$testarray[$invoiceid]["customer_name"]= $row['Customer Name']; | |
$testarray[$invoiceid]["channel"]= $row['Channel']; | |
$testarray[$invoiceid]["awb"]= $row['AWB']; | |
$testarray[$invoiceid]["item"]= array(array('item_name' => $row['Item Name'])); | |
$testarray[$invoiceid]["item"][((count ($testarray[$invoiceid]["item"])-1))]['date'] = $row['Date']; | |
$testarray[$invoiceid]["item"][((count ($testarray[$invoiceid]["item"])-1))]["plu"]= $row['PLU']; | |
$testarray[$invoiceid]["item"][((count ($testarray[$invoiceid]["item"])-1))]["unit_selling_price"]= $row['Unit Selling Price']; | |
$testarray[$invoiceid]["item"][((count ($testarray[$invoiceid]["item"])-1))]["invoiced_sales_value"]= $row['Invoiced Sales Value']; | |
$testarray[$invoiceid]["item"][((count ($testarray[$invoiceid]["item"])-1))]["sales_units"]= $row['Sales Units']; | |
$testarray[$invoiceid]["item"][((count ($testarray[$invoiceid]["item"])-1))]["list_price"]= $row['List Price']; | |
$testarray[$invoiceid]["item"][((count ($testarray[$invoiceid]["item"])-1))]["gross_sales_and_list_price"]= $row['Gross Sales and List Price']; | |
$testarray[$invoiceid]["item"][((count ($testarray[$invoiceid]["item"])-1))]["off_invoice_discount_from_sales"]= $row['Off Invoice Discount from Sales']; | |
$testarray[$invoiceid]["item"][((count ($testarray[$invoiceid]["item"])-1))]["nett_invoiced_sales"]= $row['Nett Invoiced Sales']; | |
$testarray[$invoiceid]["item"][((count ($testarray[$invoiceid]["item"])-1))]["cost"]= $row['Cost']; | |
$testarray[$invoiceid]["item"][((count ($testarray[$invoiceid]["item"])-1))]["margin"]= $row['Margin']; | |
$testarray[$invoiceid]["item"][((count ($testarray[$invoiceid]["item"])-1))]["line_total_weight"]= $row['Line Total Weight']; | |
$testarray[$invoiceid]["item"][((count ($testarray[$invoiceid]["item"])-1))]["weight_percent"]= $row['Weight %']; | |
$testarray[$invoiceid]["item"][((count ($testarray[$invoiceid]["item"])-1))]["delivery_cost"]= $row['Delivery Cost']; | |
} | |
else | |
{ | |
$counter =count($testarray[$invoiceid]["item"]); | |
$testarray[$invoiceid]["item"][$counter] = array('item_name' => $row['Item Name']); | |
$testarray[$invoiceid]["item"][$counter]["date"] = $row['Date']; | |
$testarray[$invoiceid]["item"][$counter]["plu"] = $row['PLU']; | |
$testarray[$invoiceid]["item"][$counter]["unit_selling_price"] = $row['Unit Selling Price']; | |
$testarray[$invoiceid]["item"][$counter]["invoiced_sales_value"] = $row['Invoiced Sales Value']; | |
$testarray[$invoiceid]["item"][$counter]["sales_units"] =$row['Sales Units']; | |
$testarray[$invoiceid]["item"][$counter]["list_price"] = $row['List Price']; | |
$testarray[$invoiceid]["item"][$counter]["gross_sales_and_list_price"] = $row['Gross Sales and List Price']; | |
$testarray[$invoiceid]["item"][$counter]["off_invoice_discount_from_sales"] = $row['Off Invoice Discount from Sales']; | |
$testarray[$invoiceid]["item"][$counter]["nett_invoiced_sales"] = $row['Nett Invoiced Sales']; | |
$testarray[$invoiceid]["item"][$counter]["cost"] = $row['Cost']; | |
$testarray[$invoiceid]["item"][$counter]["margin"] = $row['Margin']; | |
$testarray[$invoiceid]["item"][$counter]["line_total_weight"] = $row['Line Total Weight']; | |
$testarray[$invoiceid]["item"][$counter]["weight_percent"] = $row['Weight %']; | |
$testarray[$invoiceid]["item"][$counter]["delivery_cost"] = $row['Delivery Cost']; | |
} | |
} | |
//dumped csv into array. | |
foreach($testarray as $key => $rn) | |
{ | |
$chan = $rn['channel']; | |
$custname = $rn['customer_name']; | |
$awb = $rn['awb']; | |
foreach ($rn['item'] as $row) | |
{ | |
// print_r($row); | |
$usp = $row['unit_selling_price']; | |
$salesunit = $row['sales_units']; | |
$sku = $row['plu']; | |
$itemname = $row['item_name']; | |
$invoicesalesval = $row['invoiced_sales_value']; | |
$joinq = " | |
SELECT a.*,b.ch_id,c.ch_name, e.p_sku,f.mec_name | |
FROM promotions a | |
INNER JOIN promotion_channels b | |
ON a.promo_id = b.promo_id | |
INNER JOIN channels c | |
ON b.ch_id = c.ch_id | |
INNER JOIN promotion_products d | |
ON a.promo_id = d.promo_id | |
INNER JOIN product e | |
ON d.p_id = e.p_id | |
INNER JOIN mechanics f | |
ON a.mec_id = f.mec_id | |
WHERE c.ch_name = :chan AND e.p_sku = :sku"; | |
$joinx = $dbh->prepare($joinq); | |
$joinx->bindParam(":chan", $chan); | |
$joinx->bindParam(":sku", $sku); | |
$joinx->execute(); | |
$test = $joinx->fetchAll(); | |
if (!empty($test)) | |
{ | |
foreach($test as $testrn) | |
{ | |
$mecname = $testrn['mec_name']; | |
$sd = $testrn['promo_sd']; | |
$ed =$testrn['promo_ed']; | |
if($testrn['promo_status']== 1) | |
{ | |
$unserializedinfo = unserialize($testrn['promo_mech_info']); | |
//print_r($unserializedinfo); | |
if(array_key_exists("discount", $unserializedinfo)) | |
{ | |
if( count($unserializedinfo['discount']) > 1) | |
{ //remember to update discount to the new formulae later... | |
//order value more , % off.. | |
if(array_key_exists("percent",$unserializedinfo['discount'])) | |
{ | |
$percent = $unserializedinfo['discount']['percent']; | |
$more = $unserializedinfo['discount']['ordervaluemore']; | |
if ($invoicesalesval > $more) | |
{ | |
$claimval = (($invoicesalesval / 100) * ($percent)); | |
//this makes sure that its only triggered if say, your invoice balance is more than the amt you are going to discount.. | |
if ($claimval < $invoicesalesval) | |
{ | |
//checks if theres already an array key.... you will need to do this if multi item... | |
if (!array_key_exists($key, $newarray1)) { | |
if ($sd == "0000-00-00") { | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]['channel'] = $chan; | |
$newarray1[$key]['awb'] = $awb; | |
$newarray1[$key]["item"] = array(array('item_name' => $itemname)); | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['trigger_reason'] = 'ongoing promotion'; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['claim_value'] = $claimval; | |
} else { | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]['channel'] = $chan; | |
$newarray1[$key]['awb'] = $awb; | |
$newarray1[$key]["item"] = array(array('item_name' => $itemname)); | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['trigger_reason'] = 'to be completed'; | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['promotion_start_date'] = $sd; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['promotion_end_date'] = $ed; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['claim_value'] = $claimval; | |
} | |
} else | |
{ | |
if ($sd == "0000-00-00") | |
{ | |
$counter1 = count($newarray1[$key]["item"]); | |
$newarray1[$key]["item"][$counter1] = array('item_name' => $itemname); | |
$newarray1[$key]["item"][$counter1]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][$counter1]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][$counter1]['trigger_reason'] = 'ongoing promotion'; | |
$newarray1[$key]["item"][$counter1]['claim_value'] = $claimval; | |
} else | |
{ | |
$counter1 = count($newarray1[$key]["item"]); | |
$newarray1[$key]["item"][$counter1] = array('item_name' => $itemname); | |
$newarray1[$key]["item"][$counter1]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][$counter1]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][$counter1]['trigger_reason'] = 'to be completed'; | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]["item"][$counter1]['promotion_start_date'] = $sd; | |
$newarray1[$key]["item"][$counter1]['promotion_end_date'] = $ed; | |
$newarray1[$key]["item"][$counter1]['claim_value'] = $claimval; | |
} | |
} | |
} | |
} | |
} | |
//ordervalue more, $ off. | |
else | |
{ | |
$dollar = $unserializedinfo['discount']['dollar']; | |
$more = $unserializedinfo['discount']['ordervaluemore']; | |
if ($invoicesalesval > $more) { | |
if ($dollar < $invoicesalesval) | |
{ | |
$newinvoicesalesval = $dollar;//lazy to change all var. basically $dollar is what you claim. change once finalized. | |
if (!array_key_exists($key, $newarray1)) { | |
if ($sd == "0000-00-00") { | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]['channel'] = $chan; | |
$newarray1[$key]['awb'] = $awb; | |
$newarray1[$key]["item"] = array(array('item_name' => $itemname)); | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['trigger_reason'] = 'ongoing promotion'; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['claim_value'] = $newinvoicesalesval; | |
} else { | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]['channel'] = $chan; | |
$newarray1[$key]['awb'] = $awb; | |
$newarray1[$key]["item"] = array(array('item_name' => $itemname)); | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['trigger_reason'] = 'to be completed'; | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['promotion_start_date'] = $sd; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['promotion_end_date'] = $ed; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['claim_value'] = $newinvoicesalesval; | |
} | |
} else { | |
if ($sd == "0000-00-00") { | |
$counter1 = count($newarray1[$key]["item"]); | |
$newarray1[$key]["item"][$counter1] = array('item_name' => $itemname); | |
$newarray1[$key]["item"][$counter1]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][$counter1]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][$counter1]['trigger_reason'] = 'ongoing promotion'; | |
$newarray1[$key]["item"][$counter1]['claim_value'] = $newinvoicesalesval; | |
} else { | |
$counter1 = count($newarray1[$key]["item"]); | |
$newarray1[$key]["item"][$counter1] = array('item_name' => $itemname); | |
$newarray1[$key]["item"][$counter1]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][$counter1]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][$counter1]['trigger_reason'] = 'to be completed'; | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]["item"][$counter1]['promotion_start_date'] = $sd; | |
$newarray1[$key]["item"][$counter1]['promotion_end_date'] = $ed; | |
$newarray1[$key]["item"][$counter1]['claim_value'] = $newinvoicesalesval; | |
} | |
} | |
} | |
} | |
} | |
} | |
else | |
{ | |
//nocondition, % off | |
if(array_key_exists("percent",$unserializedinfo['discount'])) | |
{ | |
$percent = $unserializedinfo['discount']['percent']; | |
$newinvoicesalesval = (($invoicesalesval/100)*($percent)); | |
//checks if theres already an array key.... you will need to do this if multi item | |
if (!array_key_exists($key, $newarray1)) | |
{ | |
if($sd == "0000-00-00") | |
{ | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]['channel'] = $chan; | |
$newarray1[$key]['awb'] = $awb; | |
$newarray1[$key]["item"] = array(array('item_name' => $itemname)); | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['trigger_reason'] = 'ongoing promotion'; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['claim_value'] = $newinvoicesalesval; | |
} | |
else | |
{ | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]['channel'] = $chan; | |
$newarray1[$key]['awb'] = $awb; | |
$newarray1[$key]["item"] = array(array('item_name' => $itemname)); | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['trigger_reason'] = 'to be completed'; $newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['promotion_start_date'] = $sd; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['promotion_end_date'] = $ed; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['claim_value'] = $newinvoicesalesval; | |
} | |
} | |
else | |
{ | |
if($sd == "0000-00-00") | |
{ | |
$counter1 = count($newarray1[$key]["item"]); | |
$newarray1[$key]["item"][$counter1] = array('item_name' => $itemname); | |
$newarray1[$key]["item"][$counter1]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][$counter1]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][$counter1]['trigger_reason'] = 'ongoing promotion'; | |
$newarray1[$key]["item"][$counter1]['claim_value'] = $newinvoicesalesval; | |
} | |
else | |
{ | |
$counter1 = count($newarray1[$key]["item"]); | |
$newarray1[$key]["item"][$counter1] = array('item_name' => $itemname); | |
$newarray1[$key]["item"][$counter1]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][$counter1]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][$counter1]['trigger_reason'] = 'to be completed'; $newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]["item"][$counter1]['promotion_start_date'] = $sd; | |
$newarray1[$key]["item"][$counter1]['promotion_end_date'] = $ed; | |
$newarray1[$key]["item"][$counter1]['claim_value'] = $newinvoicesalesval; | |
} | |
} | |
} | |
// no condition, $ off. | |
else { | |
$dollar = $unserializedinfo['discount']['dollar']; | |
$newinvoicesalesval = $dollar; | |
if ($dollar < $invoicesalesval) | |
{ | |
if (!array_key_exists($key, $newarray1)) { | |
if ($sd == "0000-00-00") { | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]['channel'] = $chan; | |
$newarray1[$key]['awb'] = $awb; | |
$newarray1[$key]["item"] = array(array('item_name' => $itemname)); | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['trigger_reason'] = 'ongoing promotion'; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['claim_value'] = $newinvoicesalesval; | |
} | |
else | |
{ | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]['channel'] = $chan; | |
$newarray1[$key]['awb'] = $awb; | |
$newarray1[$key]["item"] = array(array('item_name' => $itemname)); | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['trigger_reason'] = 'to be completed'; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['promotion_start_date'] = $sd; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['promotion_end_date'] = $ed; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['claim_value'] = $newinvoicesalesval; | |
} | |
} else { | |
if ($sd == "0000-00-00") { | |
$counter1 = count($newarray1[$key]["item"]); | |
$newarray1[$key]["item"][$counter1] = array('item_name' => $itemname); | |
$newarray1[$key]["item"][$counter1]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][$counter1]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][$counter1]['trigger_reason'] = 'ongoing promotion'; | |
$newarray1[$key]["item"][$counter1]['claim_value'] = $newinvoicesalesval; | |
} else { | |
$counter1 = count($newarray1[$key]["item"]); | |
$newarray1[$key]["item"][$counter1] = array('item_name' => $itemname); | |
$newarray1[$key]["item"][$counter1]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][$counter1]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][$counter1]['trigger_reason'] = 'to be completed'; | |
$newarray1[$key]["item"][$counter1]['promotion_start_date'] = $sd; | |
$newarray1[$key]["item"][$counter1]['promotion_end_date'] = $ed; | |
$newarray1[$key]["item"][$counter1]['claim_value'] = $newinvoicesalesval; | |
} | |
} | |
} | |
} | |
} | |
} | |
//end discount | |
else if(array_key_exists("buy", $unserializedinfo)) | |
{ | |
$buyunit = $unserializedinfo['buy']['buy']; | |
$division = floor(($salesunit / $buyunit)); | |
//if buy, if dollar, if percent, else if units.. | |
if(array_key_exists("dollar",$unserializedinfo['buy'])) | |
{ | |
//for %, we will work under the assumption that... | |
// buy 10 get 1 off, buy 20 get 2 off, etc. | |
$dollaroff = $division*$usp; | |
if (!array_key_exists($key, $newarray1)) | |
{ | |
if ($sd == "0000-00-00") | |
{ | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]['channel'] = $chan; | |
$newarray1[$key]['awb'] = $awb; | |
$newarray1[$key]["item"] = array(array('item_name' => $itemname)); | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['units_sold'] = $salesunit; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['trigger_reason'] = 'ongoing promotion'; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['times_applied'] = $division; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['total_units'] = $division+$salesunit; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['units_to_claim'] = $division; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['amt_to_claim'] = $dollaroff; | |
} | |
else | |
{ | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]['channel'] = $chan; | |
$newarray1[$key]['awb'] = $awb; | |
$newarray1[$key]["item"] = array(array('item_name' => $itemname)); | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['units_sold'] = $salesunit; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['trigger_reason'] = 'to be completed'; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['times_applied'] = $division; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['total_units'] = $division+$salesunit; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['promotion_start_date'] = $sd; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['promotion_end_date'] = $ed; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['units_to_claim'] = $division; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['amt_to_claim'] = $dollaroff; | |
} | |
} | |
else | |
{ | |
if ($sd == "0000-00-00") | |
{ | |
$counter1 = count($newarray1[$key]["item"]); | |
$newarray1[$key]["item"][$counter1] = array('item_name' => $itemname); | |
$newarray1[$key]["item"][$counter1]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][$counter1]['units_sold'] = $salesunit; | |
$newarray1[$key]["item"][$counter1]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][$counter1]['times_applied'] = $division; | |
$newarray1[$key]["item"][$counter1]['total_units'] = $division+$salesunit; | |
$newarray1[$key]["item"][$counter1]['trigger_reason'] = 'ongoing promotion'; | |
$newarray1[$key]["item"][$counter1]['units_to_claim'] = $division; | |
$newarray1[$key]["item"][$counter1]['amt_to_claim'] = $dollaroff; | |
} | |
else | |
{ | |
$counter1 = count($newarray1[$key]["item"]); | |
$newarray1[$key]["item"][$counter1] = array('item_name' => $itemname); | |
$newarray1[$key]["item"][$counter1]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][$counter1]['units_sold'] = $salesunit; | |
$newarray1[$key]["item"][$counter1]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][$counter1]['times_applied'] = $division; | |
$newarray1[$key]["item"][$counter1]['trigger_reason'] = 'to be completed'; | |
$newarray1[$key]["item"][$counter1]['total_units'] = $division+$salesunit; | |
$newarray1[$key]["item"][$counter1]['promotion_start_date'] = $sd; | |
$newarray1[$key]["item"][$counter1]['promotion_end_date'] = $ed; | |
$newarray1[$key]["item"][$counter1]['units_to_claim'] = $division; | |
$newarray1[$key]["item"][$counter1]['amt_to_claim'] = $dollaroff; | |
} | |
} | |
} | |
elseif(array_key_exists("percent",$unserializedinfo['buy'])) | |
{ | |
$percent = $unserializedinfo['buy']['percent']; | |
$newinvoicesalesval = (($invoicesalesval/100)*($percent)); | |
if (!array_key_exists($key, $newarray1)) | |
{ | |
if ($sd == "0000-00-00") | |
{ | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]['channel'] = $chan; | |
$newarray1[$key]['awb'] = $awb; | |
$newarray1[$key]["item"] = array(array('item_name' => $itemname)); | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['units_sold'] = $salesunit; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['trigger_reason'] = 'ongoing promotion'; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['amount_to_claim'] = round($newinvoicesalesval,2); | |
} | |
else | |
{ | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]['channel'] = $chan; | |
$newarray1[$key]['awb'] = $awb; | |
$newarray1[$key]["item"] = array(array('item_name' => $itemname)); | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['units_sold'] = $salesunit; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['trigger_reason'] = 'to be completed'; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['promotion_start_date'] = $sd; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['promotion_end_date'] = $ed; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['amount_to_claim'] = round($newinvoicesalesval,2); | |
} | |
} | |
else | |
{ | |
if ($sd == "0000-00-00") | |
{ | |
$counter1 = count($newarray1[$key]["item"]); | |
$newarray1[$key]["item"][$counter1] = array('item_name' => $itemname); | |
$newarray1[$key]["item"][$counter1]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][$counter1]['units_sold'] = $salesunit; | |
$newarray1[$key]["item"][$counter1]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][$counter1]['trigger_reason'] = 'ongoing promotion'; | |
$newarray1[$key]["item"][$counter1]['amount_to_claim'] = round($newinvoicesalesval,2); | |
} | |
else | |
{ | |
$counter1 = count($newarray1[$key]["item"]); | |
$newarray1[$key]["item"][$counter1] = array('item_name' => $itemname); | |
$newarray1[$key]["item"][$counter1]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][$counter1]['units_sold'] = $salesunit; | |
$newarray1[$key]["item"][$counter1]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][$counter1]['trigger_reason'] = 'to be completed'; | |
$newarray1[$key]["item"][$counter1]['promotion_start_date'] = $sd; | |
$newarray1[$key]["item"][$counter1]['promotion_end_date'] = $ed; | |
$newarray1[$key]["item"][$counter1]['amount_to_claim'] = round($newinvoicesalesval,2); | |
} | |
} | |
} | |
else | |
{ | |
$buyamt = $unserializedinfo['buy']['buy']; | |
$perunitfree = $unserializedinfo['buy']['unit']; | |
$division =$salesunit/$buyamt; | |
$freeunit = floor($division * $perunitfree); | |
if (!array_key_exists($key, $newarray1)) | |
{ | |
if ($sd == "0000-00-00") | |
{ | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]['channel'] = $chan; | |
$newarray1[$key]['awb'] = $awb; | |
$newarray1[$key]["item"] = array(array('item_name' => $itemname)); | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['units_sold'] = $salesunit; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['trigger_reason'] = 'ongoing promotion'; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['units_to_claim'] = $freeunit; | |
} | |
else | |
{ | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]['channel'] = $chan; | |
$newarray1[$key]['awb'] = $awb; | |
$newarray1[$key]["item"] = array(array('item_name' => $itemname)); | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['units_sold'] = $salesunit; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['trigger_reason'] = 'to be completed'; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['promotion_start_date'] = $sd; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['promotion_end_date'] = $ed; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['units_to_claim'] = $freeunit; | |
} | |
} | |
else | |
{ | |
if ($sd == "0000-00-00") | |
{ | |
$counter1 = count($newarray1[$key]["item"]); | |
$newarray1[$key]["item"][$counter1] = array('item_name' => $itemname); | |
$newarray1[$key]["item"][$counter1]['units_sold'] = $salesunit; | |
$newarray1[$key]["item"][$counter1]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][$counter1]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][$counter1]['trigger_reason'] = 'ongoing promotion'; | |
$newarray1[$key]["item"][$counter1]['units_to_claim'] = $freeunit; | |
} | |
else | |
{ | |
$counter1 = count($newarray1[$key]["item"]); | |
$newarray1[$key]["item"][$counter1] = array('item_name' => $itemname); | |
$newarray1[$key]["item"][$counter1]['units_sold'] = $salesunit; | |
$newarray1[$key]["item"][$counter1]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][$counter1]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][$counter1]['trigger_reason'] = 'to be completed'; | |
$newarray1[$key]["item"][$counter1]['promotion_start_date'] = $sd; | |
$newarray1[$key]["item"][$counter1]['promotion_end_date'] = $ed; | |
$newarray1[$key]["item"][$counter1]['units_to_claim'] = $freeunit; | |
} | |
} | |
} | |
} | |
else | |
{ | |
$pid = $unserializedinfo['cpu']['pid']; | |
$producname = "SELECT * FROM product WHERE p_id = :pid"; | |
$producnamex = $dbh->prepare($producname); | |
$producnamex->bindParam(':pid',$pid); | |
$producnamex->execute(); | |
$prodsk = $producnamex->fetch(); | |
$percent = $unserializedinfo['cpu']['percent']; | |
$definedprice = $unserializedinfo['cpu']['price']; | |
$discountval = $definedprice/100*$percent; | |
if (!array_key_exists($key, $newarray1)) | |
{ | |
if ($sd == "0000-00-00") | |
{ | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]['channel'] = $chan; | |
$newarray1[$key]['awb'] = $awb; | |
$newarray1[$key]["item"] = array(array('item_name' => $itemname)); | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['units_sold'] = $salesunit; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['trigger_reason'] = 'ongoing promotion'; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['affected_sku'] = $prodsk['p_sku']; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['discounted_value']= $discountval; | |
} | |
else | |
{ | |
$newarray1[$key]['customer_name'] = $custname; | |
$newarray1[$key]['channel'] = $chan; | |
$newarray1[$key]['awb'] = $awb; | |
$newarray1[$key]["item"] = array(array('item_name' => $itemname)); | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['units_sold'] = $salesunit; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['trigger_reason'] = 'to be completed'; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['promotion_start_date'] = $sd; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['promotion_end_date'] = $ed; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['affected_sku'] = $prodsk['p_sku']; | |
$newarray1[$key]["item"][((count($newarray1[$key]["item"]) - 1))]['discounted_value']= $discountval; | |
} | |
} | |
else | |
{ | |
if ($sd == "0000-00-00") | |
{ | |
$counter1 = count($newarray1[$key]["item"]); | |
$newarray1[$key]["item"][$counter1] = array('item_name' => $itemname); | |
$newarray1[$key]["item"][$counter1]['units_sold'] = $salesunit; | |
$newarray1[$key]["item"][$counter1]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][$counter1]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][$counter1]['trigger_reason'] = 'ongoing promotion'; | |
$newarray1[$key]["item"][$counter1]['affected_sku'] = $prodsk['p_sku']; | |
$newarray1[$key]["item"][$counter1]['discounted_value']= $discountval; | |
} | |
else | |
{ | |
$counter1 = count($newarray1[$key]["item"]); | |
$newarray1[$key]["item"][$counter1] = array('item_name' => $itemname); | |
$newarray1[$key]["item"][$counter1]['units_sold'] = $salesunit; | |
$newarray1[$key]["item"][$counter1]['old_invoiced_sales'] = $invoicesalesval; | |
$newarray1[$key]["item"][$counter1]['applied_mech'] = $mecname; | |
$newarray1[$key]["item"][$counter1]['trigger_reason'] = 'to be completed'; | |
$newarray1[$key]["item"][$counter1]['promotion_start_date'] = $sd; | |
$newarray1[$key]["item"][$counter1]['affected_sku'] = $prodsk['p_sku']; | |
$newarray1[$key]["item"][$counter1]['discounted_value']= $discountval; | |
} | |
} | |
} | |
} | |
// | |
} | |
} | |
} | |
} | |
print_r($newarray1); | |
?> | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment