if (empty($mysql_error)) { $error_message = 'Some server error occured'; } else { $error_message = $mysql_error; } $responce = array('status' => 'failed', 'error' => $error_message, 'data' => array()); } } else { ob_start(); $a = ob_get_clean(); $responce = array('status' => 'failed', 'error' => 'Data missing' . $a, 'data' => array()); } } else { if ($form_id == 7) { if (isset($_POST['wendor_id']) and !empty($_POST['wendor_id']) and isset($_POST['bill_number']) and isset($_POST['total']) and !empty($_POST['total']) and isset($_POST['items']) and !empty($_POST['items'])) { $purchace = new purchaces(); $purchace->amount = $_POST['total']; $purchace->wendor_id = $_POST['wendor_id']; $purchace->purchace_manager_id = $_SESSION['user_id']; $purchace->bill_number = $_POST['bill_number']; $user = new user(); $user->id = $_SESSION['user_id']; $user->getUser(); $purchace->company_id = $user->company_id; $purchace_items = array(); foreach ($_POST['items'] as $items_array_item) { $purchace_item = new purchace_items(); $purchace_item->item_id = $items_array_item['id']; $purchace_item->quantity = $items_array_item['quantity']; $purchace_item->rate = $items_array_item['rate']; array_push($purchace_items, $purchace_item);
} else { $responce = array('status' => 'failed', 'error' => 'The Sale is of another shop', 'data' => array()); } } else { $responce = array('status' => 'failed', 'error' => 'Invalid Sale ID', 'data' => array()); } } else { ob_start(); $a = ob_get_clean(); $responce = array('status' => 'failed', 'error' => 'Data missing' . $a, 'data' => array()); } } else { if ($form_id == 8) { //purchace if (isset($_POST['purchace_id']) and !empty($_POST['purchace_id'])) { $purchace = new purchaces(); $purchace->id = $_POST['purchace_id']; $result = $purchace->getPurchace(); if ($result) { $user = new user(); $user->id = $_SESSION['user_id']; $user->getUser(); if ($purchace->company_id == $user->company_id) { $message = "Purchace Fetched successfuly"; $vendor = new wendors(); $vendor->id = $purchace->wendor_id; $vendor->getWendor(); $vendor_name = $vendor->wendor_name . ' ( ' . $vendor->id . ' ) '; $items = array(); if (is_array($purchace->getPurchaceItems()) and count($purchace->getPurchaceItems())) { foreach ($purchace->getPurchaceItems() as $p_item) {
$mysql_error = mysql_error(); if (empty($mysql_error)) { $error_message = 'Some server error occured'; } else { $error_message = $mysql_error; } $responce = array('status' => 'failed', 'error' => $error_message, 'data' => array()); } } else { $responce = array('status' => 'failed', 'error' => 'Data missing', 'data' => array()); } } else { if ($form_id == 30) { ///edit : purchace return if (isset($_POST['purchace_id']) and !empty($_POST['purchace_id']) and isset($_POST['bill_number']) and isset($_POST['total']) and isset($_POST['items']) and !empty($_POST['items'])) { $purchace = new purchaces(); $purchace->id = $_POST['purchace_id']; $purchace->getPurchace(); $purchace->amount = $_POST['total']; $purchace->bill_number = $_POST['bill_number']; $purchace_items_prev = $purchace->getPurchaceItems(); $purchace_items_new = array(); if (!($_POST['items'] == 'no_items')) { foreach ($_POST['items'] as $purchace_array_item) { $purchace_item = new purchace_items(); $purchace_item->item_id = $purchace_array_item['id']; $purchace_item->quantity = $purchace_array_item['quantity']; $purchace_item->rate = $purchace_array_item['rate']; array_push($purchace_items_new, $purchace_item); } }
function get_form_html($form_id, $id) { ob_start(); ?> <div id="head_div" style="padding: 5px 0; background-color: #ECECEC; color: #21ACD7; border-radius: 5px;margin-left: auto; text-align: center; "> UN-STOCKED PURCHACES </div> <div style="margin-top: 10px; background-color:transparent;padding-bottom: 30px;"> <style> div#purchace_items td{ border: 1px solid #21ACD7; } div#purchace_items tbody td{ padding: 5px 0 5px 5px; } div#purchace_items tbody td input,div#purchace_items tbody td select{ padding: 0; border: 0; margin: 0; height: 100%; width: 100%; background-color: transparent; } </style> <div id="purchace_items" style="width: 100%; padding: 10px 0; color: #21ACD7;"> <table id="items_table" style="border-collapse: collapse; width: 100%; background-color: #fff; border-radius: 10px; color: #21ACD7;"> <thead style="text-align: center;"> <tr> <td> # </td> <td> ID </td> <td> DATE </td> <td style=""> PURCHACED FROM </td> <td style=""> PURCHACED BY </td> <td style=""> AMOUNT </td> <td style=""> </td> <td style=""> </td> </tr> </thead> <tbody style="padding-left: 3px; text-align: center; "> <?php $purchace_obj = new purchaces(); $user = new user(); $user->id = $_SESSION['user_id']; $user->getUser(); $purchaces = $purchace_obj->getNotStockedPurchaces($user->company_id); $i = 0; if ($purchaces == NULL || sizeof($purchaces) == 0) { echo '<tr><td colspan="8"> No Purchace Found </td></tr>'; } else { foreach ($purchaces as $purchace) { ?> <tr id="<?php echo $purchace->id; ?> "> <td style="text-align: center;"> <?php echo ++$i; ?> </td> <td> <?php echo $purchace->id; ?> </td> <td> <?php echo $purchace->created_at; ?> </td> <td> <?php $vendor = new wendors(); $vendor->id = $purchace->wendor_id; $vendor->getWendor(); echo $vendor->wendor_name; ?> </td> <td> <?php $p_manager = new user(); $p_manager->id = $purchace->purchace_manager_id; $p_manager->getUser(); echo $p_manager->name; ?> </td> <td> <?php echo $purchace->amount; ?> </td> <td id="ok_button" style="width: 20px;text-align: center; padding: 10px;"> <img id="add_to_stock_button" style="width: 20px; height: 20px; cursor: pointer;" onclick="add_to_stock(this)" src="../ui/images/tick_button.png"/> </td> <td id="down_button" style="width: 20px;text-align: center; padding: 10px;"> <img id="toggle_button" style="width: 20px; height: 20px; cursor: pointer;" onclick="toggle_items_visibility(this)" src="../ui/images/down_arrow.png"/> <img id="toggle_button" style="width: 20px; height: 20px; cursor: pointer; display: none;" onclick="toggle_items_visibility(this)" src="../ui/images/up_arrow.png"/> </td> </tr> <tr id="purchace_item" style="display: none;"> <td colspan="8" style="padding:0 0 20px 0;"> <table style="border-collapse: collapse; background-color: #c0effd; width: 80%; color: #21ACD7; float: right;"> <tr> <td> ITEM </td> <td> QUANTITY </td> <td> PURCHACE RATE </td> <td> MRP </td> <td> TOTAL </td> </tr> <?php foreach ($purchace->getPurchaceItems() as $p_item) { ?> <tr> <td> <?php $item = new item(); $item->id = $p_item->item_id; $item->getItem(); echo $item->item_name . ' - ' . $item->item_code . ' (ID : ' . $item->id . ')'; ?> </td> <td> <?php echo $p_item->quantity; ?> </td> <td> <?php echo $p_item->rate; ?> </td> <td> <?php echo $item->mrp; ?> </td> <td> <?php echo $p_item->quantity * $p_item->rate; ?> </td> </tr> <?php } ?> </table> </td> </tr> <?php } } ?> </tbody> </table> </div> </div> <script type="text/javascript"> function add_to_stock(ok_button) { var row = $(ok_button).closest('tr'); var purchace_id = row.attr('id'); var data = { purchace_id: purchace_id } add_purchace_to_stock(data, function(message) { row.hide(); row.next().hide(); if(row.parent('tbody').children('tr:visible').length==0){ row.parent('tbody').html('<tr><td colspan="8"> No Purchace left more </td></tr>'); } alert(message); }, function(message) { alert(message); }); } function toggle_items_visibility(down_button) { var row = $(down_button).closest('tr'); row.next('tr').fadeToggle(); row.find('img#toggle_button').toggle(); } </script> <?php $form = ob_get_clean(); return $form; }
$mysql_error = mysql_error(); if (empty($mysql_error)) { $error_message = 'Some server error occured'; } else { $error_message = $mysql_error; } $responce = array('status' => 'failed', 'error' => $error_message, 'data' => array()); } } else { $responce = array('status' => 'failed', 'error' => 'Data missing', 'data' => array()); } } else { if ($form_id == 19) { ///purchace delete if (isset($_POST['purchace_id']) and !empty($_POST['purchace_id'])) { $purchace = new purchaces(); $purchace->id = $_POST['purchace_id']; $purchace->getPurchace(); if ($purchace->stocked) { $responce = array('status' => 'failed', 'error' => 'Purchace already stocked, Can\'t delete !', 'data' => array()); } else { if ($purchace->deletePurchace()) { $message = "Purchace deleted Successfuly"; $responce = array('status' => 'success', 'error' => '', 'data' => array("message" => $message, "id" => $purchace->id)); } else { $description = "Purchace delete failed, Purchace : " . $purchace->to_string(); Log::e($tag, $description); $mysql_error = mysql_error(); if (empty($mysql_error)) { $error_message = 'Some server error occured'; } else {
<?php //registering for class auto loading spl_autoload_register(function ($class_name) { $controller_root = $_SERVER['DOCUMENT_ROOT'] . '/piknik_ims/controller'; if (file_exists($controller_root . '/php_classes/' . $class_name . '.php')) { $file_name = $controller_root . '/php_classes/' . $class_name . '.php'; require_once $file_name; } else { throw new Exception("Class " . $class_name . " Not found"); } }); session_start(); if (isset($_SESSION['user_id']) and !empty($_SESSION['user_id']) and isset($_GET['user_id']) and !empty($_GET['user_id']) and $_SESSION['user_id'] === $_GET['user_id']) { if (isset($_POST['purchace_id']) and !empty($_POST['purchace_id'])) { $purchace = new purchaces(); $purchace->id = $_POST['purchace_id']; $purchace->getPurchace(); if ($purchace->stocked) { $responce = array('status' => 'failed', 'error' => 'Purchace already stocked', 'data' => array()); } else { foreach ($purchace->getPurchaceItems() as $p_item) { $inv = new inventry(); $inv->company_id = $purchace->company_id; $inv->item_id = $p_item->item_id; $invs = $inv->getInventryForSpecificCompanyAndItem(); if ($invs) { $inv = $invs[0]; $inv->in_stock_count = $invs[0]->in_stock_count + $p_item->quantity; $item = new item(); $item->id = $p_item->item_id;
function get_form_html($form_id, $id, $page, $limit, $adjacents) { ob_start(); $purchace_obj = new purchaces(); $user = new user(); $user->id = $_SESSION['user_id']; $user->getUser(); $count = $purchace_obj->getPurchacesCount($user->company_id); if ($page == 1) { $start = 0; $head_message = "LAST {$limit} PURCHACES"; } else { $start = ($page - 1) * $limit; $head_message = "PURCHACE {$start} TO " . ($start + $limit); } ?> <div id="head_div" style="padding: 10px 0; background-color: #ECECEC; color: #21ACD7; border-radius: 5px;margin-left: auto; text-align: center;overflow-x: auto; "> <?php echo $head_message; ?> </div> <div style="margin-top: 10px; background-color:transparent;padding-bottom: 30px;"> <style> div#purchace_items td, div#purchace_items th{ border: 1px solid #21ACD7; } div#purchace_items tbody td{ padding: 5px 0 5px 5px; } div#purchace_items tbody td input,div#purchace_items tbody td select{ padding: 0; border: 0; margin: 0; height: 100%; width: 100%; background-color: transparent; } </style> <input type="text" id="search" placeholder="Enter Search Key here..." style="width: 100%; margin-left: 0px;" onkeyup="search()" /> <style> img#search{ position: relative; height: 20px; width: 20px; float: right; top: -29px; right: 10px; } </style> <img id="search" src="../ui/images/search.png" onclick="search()" /> <div style="padding: 10px 0; background-color: transparent; border-radius: 5px;margin-left: auto; text-align: center;overflow-x: auto; "> <?php echo pagination($limit, $adjacents, $count, $page); ?> </div> <div id="purchace_items" style="width: 100%; padding: 10px 0; color: #21ACD7;"> <table id="items_table" style="border-collapse: collapse; width: 100%; background-color: #fff; border-radius: 10px; color: #21ACD7;"> <thead style="text-align: center;"> <tr> <th> # </th> <th> ID </th> <th> BILL NO. </th> <th> DATE </th> <th style=""> PURCHACED FROM </th> <th style=""> PURCHACED BY </th> <th> AMOUNT </th> <th style=""> STOCKED </th> <th style=""> </th> </tr> </thead> <tbody style="padding-left: 3px; text-align: center; "> <?php $purchaces = $purchace_obj->getPurchacesDESC($user->company_id, $start, $limit); $i = $start; if ($purchaces == NULL || sizeof($purchaces) == 0) { echo '<tr><td colspan="8"> No Purchace Found </td></tr>'; } else { foreach ($purchaces as $purchace) { ?> <tr id="<?php echo $purchace->id; ?> " onclick="select_row(this)" status="not_selected"> <td style="text-align: center;"> <?php echo ++$i; ?> </td> <td> <?php echo $purchace->id; ?> </td> <td id="bill_number" > <?php echo $purchace->bill_number; ?> </td> <?php $date = date('d/m/Y', strtotime($purchace->created_at) + 5.5 * 60 * 60); $time = date('h:m A', strtotime($purchace->created_at) + 5.5 * 60 * 60); ?> <td id="date" date="<?php echo $date; ?> "> <?php echo $date . ' - ' . $time; ?> </td> <?php $vendor = new wendors(); $vendor->id = $purchace->wendor_id; $vendor->getWendor(); ?> <td id="vendor" vendor_address="<?php echo $vendor->contact_address; ?> "><?php echo $vendor->wendor_name; ?> </td> <td> <?php $p_manager = new user(); $p_manager->id = $purchace->purchace_manager_id; $p_manager->getUser(); echo $p_manager->name; ?> </td> <td id="amount"><?php echo $purchace->amount; ?> </td> <td> <?php if ($purchace->stocked) { echo "YES"; } else { echo 'NO'; } ?> </td> <td id="down_button" style="width: 20px;text-align: center; padding: 10px;"> <img id="toggle_button" style="width: 20px; height: 20px; cursor: pointer;" onclick="toggle_items_visibility(this)" src="../ui/images/down_arrow.png"/> <img id="toggle_button" style="width: 20px; height: 20px; cursor: pointer; display: none;" onclick="toggle_items_visibility(this)" src="../ui/images/up_arrow.png"/> </td> </tr> <tr id="purchace_item" style="display: none;"> <td colspan="8" style="padding:0 0 20px 0;"> <table id="purchace_items" style="border-collapse: collapse; background-color: #c0effd; width: 80%; color: #21ACD7; float: right;"> <thead> <tr> <th> ITEM </th> <th> QUANTITY </th> <th> PURCHACE RATE </th> <th> MRP </th> <th> TOTAL </th> </tr> </thead> <tbody> <?php if (is_array($purchace->getPurchaceItems()) and count($purchace->getPurchaceItems()) > 0) { foreach ($purchace->getPurchaceItems() as $p_item) { ?> <tr> <td id="item_name"><?php $item = new item(); $item->id = $p_item->item_id; $item->getItem(); echo $item->item_name . ' ( ' . $item->item_code . ' )'; ?> </td> <td id="quantity"><?php echo $p_item->quantity; ?> </td> <?php $tax = new tax_category(); $tax->id = $item->tax_category_id; $tax->getTaxCategory(); ?> <td id="rate" tax_rate="<?php echo $tax->tax_percentage; ?> "><?php echo $p_item->rate; ?> </td> <td><?php echo $item->mrp; ?> </td> <td> <?php echo $p_item->quantity * $p_item->rate; ?> </td> </tr> <?php } } else { ?> <tr><td colspan="6">No Items found !</td></tr> <?php } ?> </tbody> </table> </td> </tr> <?php } } ?> </tbody> </table> </div> <div style="padding: 10px 0; background-color: transparent; border-radius: 5px;margin-left: auto; text-align: center;overflow-x: auto; "> <?php echo pagination($limit, $adjacents, $count, $page); ?> </div> </div> <script type="text/javascript"> function toggle_items_visibility(down_button) { var row = $(down_button).closest('tr'); row.next('tr').fadeToggle(); row.find('img#toggle_button').toggle(); } function select_row(row) { var j_row = $(row); if (j_row.attr('status') == 'selected') { $('table#items_table tr').attr('status', 'not_selected'); $('table#items_table tr').css('background-color', '#FFF'); $('img#print').css('display', 'none'); $('img#print_fade').css('display', 'block'); $('img#delete').css('display', 'none'); $('img#delete_fade').css('display', 'block'); } else { $('table#items_table tr').attr('status', 'not_selected'); $('table#items_table tr').css('background-color', '#FFF'); j_row.attr('status', 'selected'); j_row.css('background-color', '#C0EFFD'); $('img#print').css('display', 'block'); $('img#print_fade').css('display', 'none'); $('img#delete').css('display', 'block'); $('img#delete_fade').css('display', 'none'); } } function on_print_clicked() { var selected_row = $('tr[status="selected"]'); var items_table_rows = selected_row.next('tr#purchace_item').find('table#purchace_items').find('tbody').children(); var items = new Array(); var i = 0; var tax_amount = 0; items_table_rows.each(function() { var item_row = $(this); var item_name = item_row.find('td#item_name').html(); var quantity = item_row.find('td#quantity').html(); var rate = item_row.find('td#rate').html(); var tax_rate = item_row.find('td#rate').attr('tax_rate'); var total = parseFloat(rate) * parseFloat(quantity); total = total.toFixed(2); var tax = (total * tax_rate) / (100); tax_amount = parseFloat(tax_amount) + parseFloat(tax); var item = { item_name: item_name, quantity: quantity, rate: rate, tax: tax, tax_rate: tax_rate, total: total } items[i++] = item; }); tax_amount = tax_amount.toFixed(2); var vendor_name = selected_row.find('td#vendor').html(); var vendor_address = selected_row.find('td#vendor').attr('vendor_address'); var amount = selected_row.find('td#amount').html(); amount = parseFloat(amount).toFixed(2); var id = selected_row.attr('id'); var grand_total = (parseFloat(amount) + parseFloat(tax_amount)); grand_total = grand_total.toFixed(2); var rounded_grand_total = Math.round(grand_total); rounded_grand_total = rounded_grand_total.toFixed(2); var round_off = grand_total - rounded_grand_total; round_off = round_off.toFixed(2); var bill_number = selected_row.find('td#bill_number').html(); var date = selected_row.find('td#date').attr('date'); var data = { id: id, vendor_name: vendor_name, vendor_address: vendor_address, amount: amount, date: date, less_discount: '0.00', tax_amount: tax_amount, grand_total: grand_total, rounded_grand_total: rounded_grand_total, round_off: round_off, bill_number: bill_number, items: items } print_purchace_invoice(data); } function print_purchace_invoice(data) { var html = ''; html = '<font style="font-size:30px;">ROYALE PIKNIK TRADERS LLP</font><br/>' + '<font>29/861, PARAYANCHERI, CALICUT - 673006</font><br/>' + '<font>Tin No. 32110844692 </font><br/>' + '<font>PURCHACE BILL</font><br/><br/>'; $('div#print_container_header').html(html); html = ''; //var d = new Date(); //var date = d.getDate()+"/"+(parseInt(d.getMonth())+parseInt(1))+"/"+d.getFullYear(); html = html + "<div<!-- style=\"padding:10px 0;\"><table style=\"float:right;\">" + "<tr><td>Date</td><td>:</td><td>" + data.date + "</td></tr></table>"; html = html + "<table>" + "<tr><td>Bill No. </td><td>:</td><td>" + data.bill_number/*id*/ + "</td></tr>" + "<tr><td>Name </td><td>:</td><td>" + data.vendor_name + "</td></tr>" + "<tr><td></td><td>:</td><td>" + data.vendor_address + "</td></tr></table></div>"; html = html + "<div style=\"border-top:1px dashed #000; margin:10px auto 0 auto;padding:0 0 10px 0;\"><table style=\"width:100%;\"><tr style=\"border-bottom: 1px dashed #000; border-top: 1px dashed #000;\">" + "<td style=\"width:5%; border-bottom:1px dashed #000; padding-bottom:5px; margin-bottom:5px;\">SNo</td>" + "<td style=\"width:30%; border-bottom:1px dashed #000; padding-bottom:5px; margin-bottom:5px;\">COMMODITY</td>" + "<td style=\"width:20%; border-bottom:1px dashed #000; border-left:1px dashed #000; padding-bottom:5px; margin-bottom:5px; text-align:center;\">SCH/HSN NO</td>" + "<td style=\"width:10%; border-bottom:1px dashed #000; border-left:1px dashed #000; padding-bottom:5px; margin-bottom:5px; text-align:center;\">RATE OF TAX</td>" + "<td style=\"width:10%; border-bottom:1px dashed #000; border-left:1px dashed #000; padding-bottom:5px; margin-bottom:5px; text-align:center;\">UNIT PRICE</td>" + "<td style=\"width:10%; border-bottom:1px dashed #000; border-left:1px dashed #000; padding-bottom:5px; margin-bottom:5px; text-align:center;\">QTY</td>" + "<td style=\"width:15%; border-bottom:1px dashed #000; border-left:1px dashed #000; padding-bottom:5px; margin-bottom:5px; text-align:center;\">PURCHACE VALUE</td></tr>"; var i = 1; for (var key in data.items) { var item = data.items[key]; html = html + "<tr><td>" + i++ + "</td>" + "<td colspan=\"2\">" + item.item_name + "</td>" + "<td style=\"text-align:center;\">" + item.tax_rate + "</td>" + "<td style=\"text-align:center;\">" + item.rate + "</td>" + "<td style=\"text-align:center;\">" + item.quantity + "</td>" //+"<td style=\"text-align:center;\">" + (parseFloat(item.total) - parseFloat(item.tax)) + "</td>" //+"<td style=\"text-align:center;\">" + item.tax + "</td>" + "<td style=\"text-align:right;\">" + item.total + "</td>" + "</tr>"; } html = html + "</table></div>"; html = html + "<div style=\"border-top:1px dashed #000; padding:10px 0;\"><table style=\"margin-left: auto;\">"; html = html + "<tr><td>Amount</td><td style=\"margin:0 30px;\"></td><td style=\"text-align:right;\">" + data.amount + "</td></tr>"; html = html + "<tr><td>Less Discount</td><td style=\"margin:0 30px;\"></td><td style=\"text-align:right;\">" + data.less_discount + "</td></tr>"; html = html + "<tr><td>VAT</td><td style=\"margin:0 30px;\"></td><td style=\"text-align:right;\">" + data.tax_amount + "</td></tr>"; html = html + "<tr><td>Round off</td><td style=\"margin:0 30px;\"></td><td style=\"text-align:right;\">" + data.round_off + "</td></tr>"; html = html + "<tr style=\"font-size:18px;\"><td><b>GRAND TOTAL</b></td><td style=\"margin:0 30px;\"></td><td style=\"text-align:right;\"><b>" + data.rounded_grand_total + "</b></td></tr>"; html = html + "</table></div>"; // console.log("Creating bill : " + html); $('div#print_container_body').html(html); html = ''; html = '<div style="width:100%;border-bottom:1px dashed #000;text-align:left;"><font>Rupees: ' + toWords(parseInt(data.rounded_grand_total)) + ' Only. </font></div>'; $('div#print_container_footer').html(html); print(); $('div#print_container_header').empty(); $('div#print_container_body').empty(); $('div#print_container_footer').empty(); } // American Numbering System var th = ['', 'Thousand', 'Million', 'Billion', 'Trillion']; var dg = ['Zero', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine']; var tn = ['Ten', 'Eleven', 'Twelve', 'Thirteen', 'Fourteen', 'Fifteen', 'Sixteen', 'Seventeen', 'Eighteen', 'Nineteen']; var tw = ['Twenty', 'Thirty', 'Forty', 'Fifty', 'Sixty', 'Seventy', 'Eighty', 'Ninety']; function toWords(s) { s = s.toString(); s = s.replace(/[\, ]/g, ''); if (s != parseFloat(s)) return 'not a number'; var x = s.indexOf('.'); if (x == -1) x = s.length; if (x > 15) return 'too big'; var n = s.split(''); var str = ''; var sk = 0; for (var i = 0; i < x; i++) { if ((x - i) % 3 == 2) { if (n[i] == '1') { str += tn[Number(n[i + 1])] + ' '; i++; sk = 1; } else if (n[i] != 0) { str += tw[n[i] - 2] + ' '; sk = 1; } } else if (n[i] != 0) { str += dg[n[i]] + ' '; if ((x - i) % 3 == 0) str += 'hundred '; sk = 1; } if ((x - i) % 3 == 1) { if (sk) str += th[(x - i - 1) / 3] + ' '; sk = 0; } } if (x != s.length) { var y = s.length; str += 'point '; for (var i = x + 1; i < y; i++) str += dg[n[i]] + ' '; } return str.replace(/\s+/g, ' '); } function search() { var search_key = $('input#search').val(); if (search_key !== '') { console.log("search key " + search_key); searchTable(search_key); } else { $('#items_table tr').show(); $('#items_table tr#purchace_item').hide(); } } function searchTable(inputVal) { var table = $('#items_table'); table.find('tr').each(function(index, row) { if ($(row).attr('id') !== 'purchace_item') { var allCells = $(row).find('td'); if (allCells.length > 0) { var found = false; allCells.each(function(index, td) { var regExp = new RegExp(inputVal, 'i'); if (regExp.test($(td).text())) { found = true; return false; } }); if (found == true) $(row).show(); else $(row).hide(); } var items_row = $(row).next('tr'); var allCells = items_row.find('td'); if (allCells.length > 0) { var found = false; allCells.each(function(index, td) { var regExp = new RegExp(inputVal, 'i'); if (regExp.test($(td).text())) { found = true; return false; } }); if (found == true) { $(row).show(); items_row.show(); } else { items_row.hide(); } } } }); } function on_delete_clicked() { var selected_row = $('tr[status="selected"]'); var id = selected_row.attr('id'); if (confirm('Are you sure you want to delete PURCHACE-' + id + ' ?')) { var data = { form_id: 19, purchace_id: id } delete_form_data(data, function(message) { get_form(19, function(html, tools) { $('div#form-body').html(html); $('div#content-body-action-tools').html(tools); }, function(message) { $('font#section_heading').empty(); $('div#form-body').empty(); alert(message); }); alert(message); }, function(message) { alert(message); }); } } function set_pagination_listener(){ $('.pagination').on('click','.page-numbers',function(e){ e.preventDefault(); var page = $(this).attr('page'); var id = 0; get_form(19, function(html, tools) { $('div#form-body').html(html); $('div#content-body-action-tools').html(tools); }, function(message) { $('font#section_heading').empty(); alert(message); },id ,page ); return false; }); } set_pagination_listener(); </script> <?php $form = ob_get_clean(); return $form; }
function get_form_html($form_id, $date) { ob_start(); ?> <div id="head_div" style="padding: 5px 0; background-color: #ECECEC; color: #21ACD7; border-radius: 5px;margin-left: auto; text-align: center; "> MONTHLY REPORT OF <input id="year_field" value="<?php if ($date == 0) { $year = date('Y', time()); } else { $year = split('/', $date)[0]; } echo $year; ?> " onchange="load_monthly_report()" style="width: 55px;" min="2015" max="2065" required /> <select id="month_field" onchange="load_monthly_report()" > <?php if ($date == 0) { $month = date('m', time()); } else { $month = split('/', $date)[1]; } ?> <option <?php if ($month == 1) { echo ' selected '; } ?> value="1">JANUARY</option> <option <?php if ($month == 2) { echo ' selected '; } ?> value="2">FEBRUARY</option> <option <?php if ($month == 3) { echo ' selected '; } ?> value="3">MARCH</option> <option <?php if ($month == 4) { echo ' selected '; } ?> value="4">APRIL</option> <option <?php if ($month == 5) { echo ' selected '; } ?> value="5">MAY</option> <option <?php if ($month == 6) { echo ' selected '; } ?> value="6">JUNE</option> <option <?php if ($month == 7) { echo ' selected '; } ?> value="7">JULY</option> <option <?php if ($month == 8) { echo ' selected '; } ?> value="8">AUGUST</option> <option <?php if ($month == 9) { echo ' selected '; } ?> value="9">SEPTEMBER</option> <option <?php if ($month == 10) { echo ' selected '; } ?> value="10">OCTOBER</option> <option <?php if ($month == 11) { echo ' selected '; } ?> value="11">NOVEMBER</option> <option <?php if ($month == 12) { echo ' selected '; } ?> value="121">DECEMBER</option> </select> </div> <div id="content_table" style="margin-top: 10px; background-color:transparent;padding-bottom: 30px;"> <style> div#purchace_items td{ border: 1px solid #21ACD7; } div#purchace_items tbody td{ padding: 5px 0 5px 5px; } div#purchace_items tbody td input,div#purchace_items tbody td select{ padding: 0; border: 0; margin: 0; height: 100%; width: 100%; background-color: transparent; } </style> <div id="purchace_items" style="width: 100%; padding: 10px 0; color: #21ACD7;"> <table id="table" style="border-collapse: collapse; width: 100%; background-color: #fff; border-radius: 10px; color: #21ACD7;"> <thead style="text-align: center;"> <tr> <td style="width: 5%;"> # </td> <td> DESCRIPTION </td> <td style="width: 15%;"> INCOME </td> <td style="width: 15%;"> EXPENCE </td> <td style="width: 15%;"> BALANCE </td> </tr> </thead> <tbody style="padding-left: 3px; text-align: center; "> <?php $balance = 0; $income_total = 0; $expence_total = 0; $user = new user(); $user->id = $_SESSION['user_id']; $user->getUser(); $i = 0; if ($year < 2015 || $year > 2065 || $month < 1 || $month > 12) { echo '<tr><td colspan="8"> In Valid Month Found </td></tr>'; } else { //$grand_total = $grand_total + $sales_item->total; ?> <tr> <td style="text-align: center;"> <?php echo ++$i; ?> </td> <?php $sale = new sales(); $vals = $sale->getOneMonthsSaleSummary($user->company_id, $month, $year); ?> <td style="text-align: left;"> Sales </td> <td> <?php echo number_format($vals['amount'], 2, '.', ''); $income_total = $income_total + $vals['amount']; ?> </td> <td> </td> <td id="tax"> <?php $balance = $income_total - $expence_total; echo number_format($balance, 2, '.', ''); ?> </td> </tr> <tr> <td style="text-align: center;"> <?php echo ++$i; ?> </td> <td style="text-align: left;"> Tax </td> <td> </td> <td> <?php echo number_format($vals['tax_amount'], 2, '.', ''); $expence_total = $expence_total + $vals['tax_amount']; ?> </td> <td id="tax"> <?php $balance = $income_total - $expence_total; echo number_format($balance, 2, '.', ''); ?> </td> </tr> <tr> <td style="text-align: center;"> <?php echo ++$i; ?> </td> <?php $purchace = new purchaces(); $vals = $purchace->getOneMonthsPurchaceSummary($user->company_id, $month, $year); ?> <td style="text-align: left;"> Purchaces </td> <td> </td> <td> <?php echo number_format($vals['amount'], 2, '.', ''); $expence_total = $expence_total + $vals['amount']; ?> </td> <td id="tax"> <?php $balance = $income_total - $expence_total; echo number_format($balance, 2, '.', ''); ?> </td> </tr> <tr> <td style="text-align: center;"> <?php echo ++$i; ?> </td> <?php $expence = new expences(); $vals = $expence->getOneMonthsExpenceSummary($user->company_id, $month, $year); ?> <td style="text-align: left;"> Expences </td> <td> </td> <td> <?php echo number_format($vals['amount'], 2, '.', ''); $expence_total = $expence_total + $vals['amount']; ?> </td> <td id="tax"> <?php $balance = $income_total - $expence_total; echo number_format($balance, 2, '.', ''); ?> </td> </tr> <tr> <td style="text-align: center;"> <?php echo ++$i; ?> </td> <?php $bank_deposit = new bank_deposits(); $vals = $bank_deposit->getOneMonthsBankDepositsSummary($user->company_id, $month, $year); ?> <td style="text-align: left;"> Bank Deposit </td> <td> </td> <td> <?php echo number_format($vals['amount'], 2, '.', ''); $expence_total = $expence_total + $vals['amount']; ?> </td> <td id="tax"> <?php $balance = $income_total - $expence_total; echo number_format($balance, 2, '.', ''); ?> </td> </tr> <?php } ?> <tr> <td></td> <td style="text-align: right;"> TOTAL </td> <td><?php echo number_format($income_total, 2, '.', ''); ?> </td> <td><?php echo number_format($expence_total, 2, '.', ''); ?> </td> <td><?php echo number_format($balance, 2, '.', ''); ?> </td> </tr> </tbody> </table> <?php /* ?> <table id="sales_statistics_table" style="border-collapse: collapse; width: 100%; background-color: #fff; border-radius: 10px; color: #21ACD7; margin-top: 20px;"> <thead style="text-align: center;"> <tr> <td style="width: 5%;"> # </td> <td> STATISTICS </td> <td style="width: 15%;"> COUNT </td> <td style="width: 15%;"> TOTAL TAX </td> <td style="width: 15%;"> TOTAL NET. AMOUNT </td> <td style="width: 15%;"> TOTAL AMOUNT </td> </tr> </thead> <tbody style="text-align: center;"> <tr style="margin-top: 20px;"> <?php $sale = new sales(); $vals = $sale->getOneDaysSaleStatistics($user->company_id, $date); ?> <td>1</td> <td style="text-align: left;">SALES</td> <td><?php echo $vals['count']; ?></td> <td><?php echo number_format($vals['tax_amount'], 2, '.',''); ?></td> <td><?php echo number_format($vals['net_amount'], 2, '.',''); ?></td> <td><?php echo number_format($vals['amount'], 2, '.',''); ?></td> </tr> </tbody> </table> <?php */ ?> </div> </div> <script type="text/javascript"> function load_monthly_report(){ var year = $('input#year_field').val(); if(year<2015 || year>2065){ alert('Enter a valid year !'); return; } var month = $('select#month_field').val(); get_form(33, function(html, tools) { $('div#form-body').html(html); $('div#content-body-action-tools').html(tools); }, function(message) { $('font#section_heading').empty(); $('div#form-body').empty(); alert(message); }, year+'/'+month); } function on_print_clicked() { var year = $('input#year_field').val(); var month = $('select#month_field option:selected').html(); $('div#print_container_header') .html('<font style="color:#21ACD7; font-size:20px; ">MONTHLY REPORT OF '+year+' '+month+'</font>'); var html = $('div#content_table').html(); $('div#print_container_body').html(html); print(); $('div#print_container_header').empty(); $('div#print_container_body').empty(); $('div#print_container_footer').empty(); } </script> <?php $form = ob_get_clean(); return $form; }
function get_form_html($form_id, $date) { ob_start(); ?> <div id="head_div" style="padding: 5px 0; background-color: #ECECEC; color: #21ACD7; border-radius: 5px;margin-left: auto; text-align: center; "> DAY END REPORT OF <input id="date_field" value="<?php if ($date == 0) { $date = date('d/m/Y', time()); } echo $date; ?> " /> </div> <div id="sales_items_table" style="margin-top: 10px; background-color:transparent;padding-bottom: 30px;"> <style> div#purchace_items td{ border: 1px solid #21ACD7; } div#purchace_items tbody td{ padding: 5px 0 5px 5px; } div#purchace_items tbody td input,div#purchace_items tbody td select{ padding: 0; border: 0; margin: 0; height: 100%; width: 100%; background-color: transparent; } </style> <div id="purchace_items" style="width: 100%; padding: 10px 0; color: #21ACD7;"> <table id="sales_items_table" style="border-collapse: collapse; width: 100%; background-color: #fff; border-radius: 10px; color: #21ACD7;"> <thead style="text-align: center;"> <tr> <td style="width: 5%;"> # </td> <td> SHOP </td> <td style="width: 25%;"> INCOME (SALES) </td> <td style="width: 25%;"> EXPENSE (PURCHASE) </td> </tr> </thead> <tbody style="padding-left: 3px; text-align: center; "> <?php $total_income = 0; $total_expense = 0; // $sale_item = new sales_items(); // $user = new user(); // $user->id = $_SESSION['user_id']; // $user->getUser(); $date = str_replace('/', '-', $date); $date = date('Y-m-d', strtotime($date)); $shop = new company(); $shops = $shop->getCompanies(); $i = 0; if (is_array($shops) and count($shops)) { foreach ($shops as $shop) { $sale = new sales(); $sale_income_for_this_shop = $sale->getOneDaySaleIncome($shop->id, $date); $total_income += $sale_income_for_this_shop['amount']; $purchace = new purchaces(); $purchace_expence_for_this_shop = $purchace->getOneDayPurchaseExpence($shop->id, $date); $total_expense += $purchace_expence_for_this_shop['amount']; ?> <tr> <td style="text-align: center;"> <?php echo ++$i; ?> </td> <td style="text-align: left;"> <?php echo $shop->company_name . ' - ' . $shop->company_code; ?> </td> <td> <?php echo number_format($sale_income_for_this_shop['amount'], 2, '.', ''); ?> </td> <td id="tax"> <?php echo number_format($purchace_expence_for_this_shop['amount'], 2, '.', ''); ?> </td> </tr> <?php } } else { echo '<tr><td colspan="8"> No Shop Found </td></tr>'; } ?> <tr> <td></td> <td style="text-align: right;"> TOTAL </td> <td><?php echo number_format($total_income, 2, '.', ''); ?> </td> <td><?php echo number_format($total_expense, 2, '.', ''); ?> </td> </tr> </tbody> </table> </div> </div> <script type="text/javascript"> function load_day_end_report() { var date = $('input#date_field').val(); get_form(40, function(html, tools) { $('div#form-body').html(html); $('div#content-body-action-tools').html(tools); }, function(message) { $('font#section_heading').empty(); $('div#form-body').empty(); alert(message); }, date); } function on_print_clicked() { var date = $('input#date_field').val(); var header = '<font style="color:#21ACD7; font-size:20px; ">Nutiez</font>' +'<br/><br/>' +'<font style="color:#21ACD7; font-size:20px; ">BALANCE SHEET OF ' + date + '</font>'; $('div#print_container_header') .html(header); var html = $('div#sales_items_table').html(); $('div#print_container_body').html(html); print(); $('div#print_container_header').empty(); $('div#print_container_body').empty(); $('div#print_container_footer').empty(); } function setup_datepicker() { $('input#date_field').datepick({ minDate: '26/04/2015', dateFormat: 'dd/mm/yyyy', maxDate: '0', onSelect: function() { load_day_end_report(); } }); } setup_datepicker(); </script> <?php $form = ob_get_clean(); return $form; }
function get_form_html($form_id, $id) { ob_start(); ?> <style> .field_name{ width: 20%; } .field{ width: 50%; } .field input{ width: 100%; margin-left: 0px; } .field .parent{ padding: 0px 0px; } .field select{ width: 100%; } </style> <div style="height: 150px; width: 320px; background-color: #ECECEC; border-radius: 5px;margin-left: auto;display: none; "> </div> <div style="margin-top: 10px; background-color:transparent;padding-bottom: 100px;"> <form action="#" method="post" onsubmit="return false" class="action_form" operation="add" > <table style="width:100%;"> <tr> <td class="field_name"> <font>VENDOR</font> </td> <td class="field"> <div class="parent"> <input id="wendor_id" onfocus="$(this).css('border', '0px')" required list="wendors" autocomplete="off" style="border: 0;" /> <datalist id="wendors"> <?php $wendor = new wendors(); $wendors = array(); $wendors = $wendor->getWendors(); foreach ($wendors as $wendor) { echo '<option id="' . $wendor->id . '" value="' . $wendor->wendor_name . ' ( ID : ' . $wendor->id . ')" >' . $wendor->wendor_name . ' ( ID : ' . $wendor->id . ')' . '</option>'; } ?> </datalist> </div> </td> </tr> <?php $purchace = new purchaces(); $bill_number = $purchace->getMaxBillNumber() + 1; ?> <tr> <td class="field_name"> <font>BILL NUMBER</font> </td> <td class="field"> <div class="parent"> <input type="text" id="bill_number" value="<?php echo $bill_number; ?> " /> </div> </td> </tr> <tr> <td colspan="2"> <style> div#purchace_items td{ border: 1px solid #21ACD7; } div#purchace_items tbody td{ padding: 5px 0 5px 5px; } div#purchace_items tbody td input,div#purchace_items tbody td select{ padding: 0; border: 0; margin: 0; height: 100%; width: 100%; background-color: transparent; } </style> <div id="purchace_items" style="width: 100%; padding: 10px 0; color: #21ACD7;"> <table id="items_table" style="border-collapse: collapse; width: 100%; background-color: #fff; border-radius: 10px; color: #21ACD7;"> <thead style="text-align: center;"> <tr> <td> # </td> <td> ITEM </td> <td style="width: 17%;"> QUANTITY </td> <td style="width: 17%;"> RATE </td> <td style="width: 17%;"> TOTAL </td> <td style="width: 10%;"> DELETE </td> </tr> </thead> <tbody style="padding-left: 3px;"> <datalist id="items"> <?php $item = new item(); $items = array(); $items = $item->getItems(); foreach ($items as $item) { echo '<option id="' . $item->id . '"' . 'purchace_rate="' . $item->purchace_rate . '"' . ' value="' . $item->item_name . ' - ' . $item->item_code . '" >' . $item->item_name . ' - ' . $item->item_code . '</option>'; } ?> </datalist> <?php for ($i = 0; $i < 2; $i++) { ?> <tr status="active" slno="<?php echo $i + 1; ?> "> <td style="text-align: center;"> <?php echo $i + 1; ?> </td> <td> <input type="text" oninput="update_item_details(this)" onchange="update_item_details(this)" onfocus="$(this).css('border', '0px')" autocomplete="off" list="items" id="item" required /> </td> <td> <input type="number" min="0" required onchange="calculate_total(this)" onkeyup="calculate_total(this)" step="0.001" id="quantity"/> </td> <td> <input type="number" min="0" required onchange="calculate_total(this)" onkeyup="calculate_total(this)" step="0.01" id="rate"/> </td> <td> <input type="text" min="0" required id="total" disabled/> </td> <td style="width: 20px; text-align: center; padding-right: 5px;"> <img id="delete_button" onclick="delete_this_row(this)" style="color: #f00; cursor: pointer; height: 20px; width: 20px; margin-right: auto; margin-left: auto;" src="../ui/images/cross_button.png"/> <img id="activate_button" onclick="enable_this_row(this)" style="color: #f00; cursor: pointer; height: 20px; width: 20px; margin-right: auto; margin-left: auto; display: none;" src="../ui/images/tick_button.png" /> </td> </tr> <?php } ?> </tbody> </table> </div> </td> </tr> <tr style="height: 5px;"></tr> <tr> <td></td> <td> <div style="background-color: #21ACD7; color: #fff; text-align: center; padding-right: 20px;"> <span style="margin-right: 20px;">TOTAL </span> <span id="total">0</span> </div> </td> </tr> <tr style="height: 5px;"></tr> <tr> <td></td> <td> <div style="padding: 0px 12px;"> <div style="width: 100%; margin-left: -12px; padding: 12px; background-color: #0d92bb; border-radius: 5px; float: left;"> <div style="width: 33.33%; float: right; "> <input style="width: 100%;" type="submit" value="ADD" /> </div> <div style="width: 33.33%; float: right; "> <input style="width: 100%;" type="reset" value="CANCEL" /> </div> <div style="width: 33.33%;"> <input style="width: 100%;" onclick="add_purchace_item()" type="button" value="ADD ITEM" /> </div> </div> </div> </td> </tr> </table> </form> </div> <script type="text/javascript"> function update_item_details(item) { var item_input = $(item); var item_name = item_input.val(); var item_option_obj = $('datalist#items').find("option[value='" + item_name + "']"); if (item_option_obj.length == "0") { return; } else { var purchace_rate = item_option_obj.attr('purchace_rate'); var row = item_input.parent('td').parent('tr'); row.find('input#rate').val(purchace_rate); calculate_total(row.find('input#rate').get(0)); } } function calculate_total(field) { var $parent = $(field).closest('tr'); var $quantity = parseFloat($parent.find('input#quantity').val()); var $rate = parseFloat($parent.find('input#rate').val()); var $total = $quantity * $rate; $total = parseFloat($total).toFixed(2); if ($.isNumeric($total)) { $parent.find('input#total').val($total); } else { $parent.find('input#total').val(0); } calculate_purchace_total(); } function calculate_purchace_total() { var items_table = $('#items_table').find('tbody').children(); var total = 0; items_table.each(function() { var item_total_input = $(this).find('input#total'); var row_status = $(this).attr('status'); var item_total = item_total_input.val(); if ($.isNumeric(item_total) && row_status == 'active') { total = parseFloat(total) + parseFloat(item_total); } }); total = parseFloat(total).toFixed(2); $('span#total').html(total); } function delete_this_row(delete_btn) { var row = $(delete_btn).closest('tr'); row.attr('status', 'deativated'); row.css('background-color', '#c0effd'); row.find('input').prop('required', null); row.find('input').css('border', "0px"); $(delete_btn).css('display', 'none'); $(delete_btn).siblings().first().css('display', 'block'); $(delete_btn).parent('td').css('text-align', 'centre'); calculate_purchace_total(); } function enable_this_row(enable_btn) { var row = $(enable_btn).closest('tr'); row.attr('status', 'active'); row.css('background-color', '#fff'); row.find('input').prop('required', 'required'); $(enable_btn).siblings().first().css('display', 'block'); $(enable_btn).css('display', 'none'); $(enable_btn).parent('td').css('text-align', 'centre'); calculate_purchace_total(); } function add_purchace_item() { var row = '<tr status="active" slno=""><td style="text-align: center;"></td><td>' + '<input type="text" onchange="update_item_details(this)" oninput="update_item_details(this)" onfocus="$(this).css(\'border\', \'0px\')" autocomplete="off" list="items" id="item" required />' + '</td><td><input type="number" min="0" required onchange="calculate_total(this)" onkeyup="calculate_total(this)" step="0.001" id="quantity"/>' + '</td><td><input type="number" min="0" required onchange="calculate_total(this)" onkeyup="calculate_total(this)" step="0.01" id="rate"/>' + '</td><td><input type="text" min="0" required id="total" disabled/></td><td style="width: 20px; text-align: center; padding-right: 5px;">' + '<img id="delete_button" onclick="delete_this_row(this)" style="color: #f00; cursor: pointer; height: 20px; width: 20px; margin-right: auto; margin-left: auto;" src="../ui/images/cross_button.png"/>' + '<img id="activate_button" onclick="enable_this_row(this)" style="color: #f00; cursor: pointer; height: 20px; width: 20px; margin-right: auto; margin-left: auto; display: none;" src="../ui/images/tick_button.png" />' + '</td></tr>'; var lastcount = $('table#items_table tbody tr:last-child').attr('slno'); $('table#items_table tbody').append(row); lastcount = parseInt(lastcount) + 1; $('table#items_table tbody tr:last-child').attr('slno', lastcount); $('table#items_table tbody tr:last-child td:first-child').html(lastcount); } $(document).ready(function(e) { $('form.action_form').on('submit', function(e) { e.preventDefault(); var wendor_input = $('form input#wendor_id'); var wendor = wendor_input.val(); var wendor_id = 0; var wendor_option_obj = $('datalist#wendors').find("option[value='" + wendor + "']"); if (wendor_option_obj.length == "0") { wendor_input.css('border', '1px solid #f00'); alert("Invalid Wendor"); return; } else { wendor_id = wendor_option_obj.attr('id'); } var items = new Array(); var i = 0; var items_table = $('#items_table').find('tbody').children(); var invalid_item_precent = false; items_table.each(function() { if ($(this).attr('status') == 'active') { var item_input = $(this).find('input#item'); var item_name = item_input.val(); var item_option_obj = $('datalist#items').find("option[value='" + item_name + "']"); if (item_option_obj.length == "0") { item_input.css('border', '1px solid #f00'); invalid_item_precent = true; return; } else { var id = item_option_obj.attr('id'); var quantity = $(this).find('input#quantity').val(); var rate = $(this).find('input#rate').val(); var item = { id: id, quantity: quantity, rate: rate } items[i++] = item; } } }); if (invalid_item_precent) { //alert("Invalid Item Precent"); return; } var id = 7; var operation = $(this).attr('operation'); var total = $('span#total').html(); var bill_number = $('form input#bill_number').val(); if (operation == 'add') { var data = { form_id: id, wendor_id: wendor_id, total: total, bill_number: bill_number, items: items } add_form_data(data, function(message) { //$('form.action_form').get(0).reset(); get_form(7, function(html) { $('div#form-body').html(html); }, function(message) { $('font#section_heading').empty(); $('div#form-body').empty(); alert(message); }); alert(message); }, function(message) { alert(message); }); } else { alert("Invalid Operation " + id + ' - ' + operation); } }); }); </script> <?php $form = ob_get_clean(); return $form; }