MMCT TEAM
Server IP : 217.21.85.138  /  Your IP : 216.73.216.103
Web Server : LiteSpeed
System : Linux in-mum-web906.main-hosting.eu 4.18.0-553.37.1.lve.el8.x86_64 #1 SMP Mon Feb 10 22:45:17 UTC 2025 x86_64
User : u915722082 ( 915722082)
PHP Version : 7.4.33
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF
Directory (0755) :  /home/u915722082/public_html/fonts/../ettgroups/../at/sae-admin/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/u915722082/public_html/fonts/../ettgroups/../at/sae-admin/purchase_edit.php
<?php
	session_start();
	require_once"_config.php";
	
	if(!isset($_SESSION["logs"])){
		redirect("index.php");
	}

	
	if(isset($_POST["submit"])){
		try{
			$con->autocommit(FALSE);
			
			$pdate = date_db_format($_POST["pdate"]);
			$pno = $_POST["pno"];
			$sid = $_POST["sid"];
			$uid = $_POST["uid"];
			$net_total = $_POST["net_total"];
			
			#Logs Insert	
			$now = date("Y-m-d H:i:s");
			$sql1="insert into `{$_SESSION["fyear"]}_tbl_logs` (uid,log_date,log_type,log_mode,log_text) values ('{$_SESSION["logs"]["uid"]}','{$now}','Purchase','Change','{$pno}')";    
			$con->query($sql1);
			#Logs End
			
            $sql="update `{$_SESSION["fyear"]}_tbl_stock` set pno='{$pno}',pdate='{$pdate}',rate='{$net_total}',sup_id='{$sid}',uid='{$uid}' where sid='{$_GET["sid"]}'";

			//$sql = "insert into `{$_SESSION["fyear"]}_tbl_stock` (pno,pdate,rate,sup_id,uid) values ('{$pno}','{$pdate}','{$net_total}','{$sid}','{$uid}')";

			if($con->query($sql)){
				$id=$_GET["sid"];
				
                #delete old products
				$sql="delete from `{$_SESSION["fyear"]}_tbl_transactions` where stock_id='{$_GET["sid"]}' and ttype='PURCHASE'";
				if(!$con->query($sql)){
				  throw new Exception('Transaction Details Added Failed');
				}
				
				
				$sql="insert into `{$_SESSION["fyear"]}_tbl_transactions` (tdate,pid,dr,cr,rate,total,ref_id,stock_id,ttype,uid) VALUES ";
				$rows=[];
								
				for($i=0;$i<count($_POST["pid"]);$i++){
					
					$pid=mysqli_real_escape_string($con,$_POST["pid"][$i]);
					$qty=mysqli_real_escape_string($con,$_POST["qty"][$i]);
					$rate=mysqli_real_escape_string($con,$_POST["rate"][$i]);
					$row_total=mysqli_real_escape_string($con,$_POST["row_total"][$i]);
					
                    $rows[]="('{$pdate}','{$pid}','{$qty}','0','{$rate}','{$row_total}','1','{$id}','PURCHASE','{$uid}')";
					
				}
				$sql.=implode(",",$rows);
				if(!$con->query($sql)){
				  throw new Exception('Product Items Updated Failed');
				}
				
			}else{
				throw new Exception('Purchase Updated Failed');
			}
			
			
			$con->commit();
			flashN("msg","Purchase Status","Purchase Updated Successfully.","info");
			
		}catch(Exception $e){
			$con->rollback();
			flashN("msg","Error",$e->getMessage(),"danger");
		}
	}
	
		
	$data["supplier"] = resultSet($con,"select * from tbl_supplier order by sname"); 
    $data["units"] = resultSet($con,"select * from tbl_units order by uname");
	$data["info"]=single($con,"select * from `{$_SESSION["fyear"]}_tbl_stock` where sid='{$_GET["sid"]}'"); 
	$data["records"]=resultSet($con,"select * from `{$_SESSION["fyear"]}_tbl_transactions` t inner join tbl_products p on t.pid=p.pid where t.stock_id='{$_GET["sid"]}' and t.ttype='PURCHASE'"); 

?>

<!DOCTYPE html>
<html lang="en">
<?php include "_header.php"; ?>
<body id="kt_app_body" data-kt-app-layout="dark-sidebar" data-kt-app-header-fixed="true" data-kt-app-sidebar-enabled="true" data-kt-app-sidebar-fixed="true" data-kt-app-sidebar-hoverable="true" data-kt-app-sidebar-push-header="true" data-kt-app-sidebar-push-toolbar="true" data-kt-app-sidebar-push-footer="true" data-kt-app-toolbar-enabled="true" class="app-default">

<script>var defaultThemeMode = "light"; var themeMode; if ( document.documentElement ) { if ( document.documentElement.hasAttribute("data-theme-mode")) { themeMode = document.documentElement.getAttribute("data-theme-mode"); } else { if ( localStorage.getItem("data-theme") !== null ) { themeMode = localStorage.getItem("data-theme"); } else { themeMode = defaultThemeMode; } } if (themeMode === "system") { themeMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"; } document.documentElement.setAttribute("data-theme", themeMode); }</script>
	
<div class="d-flex flex-column flex-root app-root" id="kt_app_root">

<div class="app-page  flex-column flex-column-fluid " id="kt_app_page">  
<?php include"_navbar.php"; ?>

<div class="app-wrapper flex-column flex-row-fluid" id="kt_app_wrapper">
<?php include"_sidebar.php"; ?>

<div class="app-main flex-column flex-row-fluid" id="kt_app_main">
<div class="d-flex flex-column flex-column-fluid">

<!-- Tool bar -->
<div id="kt_app_toolbar" class="app-toolbar py-3 py-lg-6">
	<div id="kt_app_toolbar_container" class="app-container container-xxl d-flex flex-stack">
		<div class="page-title d-flex flex-column justify-content-center flex-wrap me-3">
			<h1 class="page-heading d-flex text-dark fw-bold fs-3 flex-column justify-content-center my-0">Purchase</h1>
			<ul class="breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0 pt-1">
				<li class="breadcrumb-item text-muted">
					<a href="#" class="text-muted text-hover-primary">Home</a>
				</li>
				<li class="breadcrumb-item">
					<span class="bullet bg-gray-400 w-5px h-2px"></span> 
				</li>
				<li class="breadcrumb-item text-muted"><a href='purchase.php'>Purchase</a></li>
			</ul>
		</div>
	</div>
</div>
<style>
	.hide{
		visibility:hidden!important;
		position:absolute!important;
	}
</style>
<!-- Page Body -->
<div id="kt_app_content" class="app-content flex-column-fluid">
	<div id="kt_app_content_container" class="app-container container-xxl"> 
		<div class="d-flex flex-column flex-lg-row">
			<div class="flex-lg-row-fluid mb-10 mb-lg-0 me-lg-7 me-xl-10">
				<?php echo flashN("msg");?>
				<div class="card">
					<div class="card-body p-12">
						<form action="<?php echo $_SERVER["REQUEST_URI"]; ?>"  method='post' >
							<div class='frm' >
							<div class="d-flex flex-column align-items-start flex-xxl-row">
								<div class="d-flex align-items-center flex-equal fw-row me-4 order-2" data-bs-toggle="tooltip" data-bs-trigger="hover" title="Specify Purchase date">
									<div class="fs-6 fw-bold text-gray-700 text-nowrap">Date:</div>
									<div class="position-relative d-flex align-items-center w-150px">
										<input class="form-control form-control-transparent fw-bold pe-5 datepicker" placeholder="Select date" name="pdate" value='<?php echo $data["info"]["pdate"]; ?>' />
										<i class="ki-duotone ki-down fs-4 position-absolute ms-4 end-0"></i>
									</div> 
								</div>
                                <div class="d-flex align-items-center flex-equal fw-row me-4 order-2" data-bs-toggle="tooltip" data-bs-trigger="hover" title="Select Supplier">
									<div class="fs-6 fw-bold text-gray-700 text-nowrap">Supplier:</div>
									<div class="position-relative d-flex align-items-center w-150px">
										<select class="form-select form-select-sm mb-3" placeholder="Select Supplier" name="sid" >
                                            <option value=''>Select Supplier</option>
											<?php foreach($data["supplier"] as $row):?>
												<?php if($data["info"]["sup_id"]==$row["sid"]): ?>
													<option selected value='<?php echo $row["sid"]; ?>'><?php echo $row["sname"]; ?></option>
												<?php else:?>
													<option value='<?php echo $row["sid"]; ?>'><?php echo $row["sname"]; ?></option>
												<?php endif;?>
											<?php endforeach;?>
                                        </select>
										
									</div>
								</div>
                                <div class="d-flex align-items-center flex-equal fw-row me-4 order-2" data-bs-toggle="tooltip" data-bs-trigger="hover" title="Select Supplier">
									<div class="fs-6 fw-bold text-gray-700 text-nowrap">Unit:</div>
									<div class="position-relative d-flex align-items-center w-150px">
										<select class="form-select form-select-sm" placeholder="Select Unit" name="uid" >
                                            <option>Select Unit</option>
                                            <?php foreach($data["units"] as $row):?>
												<?php if($data["info"]["uid"]==$row["uid"]): ?>
													<option selected value='<?php echo $row["uid"]; ?>'><?php echo $row["uname"]; ?></option>
												<?php else:?>
													<option value='<?php echo $row["uid"]; ?>'><?php echo $row["uname"]; ?></option>
												<?php endif;?>
											<?php endforeach;?>
                                        </select>
										
									</div>
                                 
								</div>
								<div class="d-flex flex-center flex-equal fw-row text-nowrap order-1 order-xxl-2 me-4" data-bs-toggle="tooltip" data-bs-trigger="hover" title="Enter Purchase number">
									<span class="fs-6 fw-bold text-gray-700 text-nowrap">Purchase No #</span>
									<input type="text" class="form-control form-control-flush fw-bold text-muted fs-6 w-125px" name='pno' value='<?php echo $data["info"]["pno"]; ?>' placehoder="..." />
								</div>
							</div>
							<div class="separator separator-dashed my-10"></div>
							<div class="mb-0">
								<div class="table-responsive mb-10">

                                <?php 
                                    $rows=resultSet($con,"select *,round(sum(dr)-sum(cr),2) as avail from `{$_SESSION["fyear"]}_tbl_stock` s inner join tbl_products p on s.pid=p.pid group by s.pid having avail<>0 order by pname"); 

                                    $options="<option value=''>Select Product</option>";
                                    foreach($rows as $row){
                                        $options.= "<option value='{$row["pid"]}' >{$row["pname"]} [{$row["avail"]} {$row["uom"]}]</option>";
                                    }
                                ?>                

									<table class="table g-5 gs-0 mb-0 fw-bold text-gray-700" data-kt-element="items">
										<thead>
											<tr class="border-bottom fs-7 fw-bold text-gray-700 text-uppercase">
												<th class="min-w-300px w-475px">Product</th>
												<th class="min-w-150px w-150px text-center">Qty</th>
												<th class="min-w-150px w-150px text-center">Rate</th>
												<th class="min-w-75px w-75px text-end">Action</th>
											</tr>
										</thead>
										<tbody id='tbody'>
                                        <?php foreach($data["records"] as $row):?>
											<tr class="border-bottom border-bottom-dashed" data-kt-element="item" >
												<td class="pe-7">
													<select class="form-select form-select-sm pid"  data-placeholder="Select an option" required name='pid[]'>
                                                    <?php 
                                                        foreach($rows as $r){
                                                            if($row["pid"]==$r["pid"]){
                                                                echo "<option selected value='{$row["pid"]}' >{$row["pname"]} [{$row["avail"]} {$row["uom"]}]</option>";
                                                            }else{
                                                                echo "<option value='{$row["pid"]}' >{$row["pname"]} [{$row["avail"]} {$row["uom"]}]</option>";
                                                            }
                                                        }
                                                    ?>
													</select>
												</td>
												
												<td> 
													<input type="text" class="form-control form-control-sm text-end qty" name="qty[]" value='<?php echo $row["dr"];  ?>' required  data-kt-element="qty" />
												</td>

                                                <td> 
													<input type="text" class="form-control form-control-sm text-end rate" name="rate[]" value='<?php echo $row["rate"];  ?>' required  data-kt-element="rate" />

                                                    <input type="hidden" class="form-control form-control-sm text-end total" name="row_total[]" value='<?php echo $row["total"]; ?>' required data-kt-element="total" />

												</td>

												<td class="pt-5 text-end">
													<button type="button" class="btn btn-sm btn-icon btn-active-color-primary btn-remove" data-kt-element="remove-item">
														<i class="ki-duotone ki-trash fs-3">
															<span class="path1"></span>
															<span class="path2"></span>
															<span class="path3"></span>
															<span class="path4"></span>
															<span class="path5"></span>
														</i>
													</button>
												</td>
											</tr>
                                        <?php endforeach; ?>    
										</tbody>
										<tfoot>
											<tr class="align-top fw-bold text-gray-700">
												<th><button class="btn btn-link py-1" id='add_row' data-kt-element="add-item">Add item</button></th>
												<th class='text-right'><button type="button"class="btn btn-primary" id='preview'> <span class="indicator-label">Submit</span> </button> </th>
												<th></th>
												<th>
                                                <input type="hidden" id='net_total' class="form-control form-control-sm text-end net_total" value='<?php echo $data["info"]["rate"]; ?>' name="net_total" required data-kt-element="net_total" /></th>
											</tr>
										</tfoot>
									</table>
								</div>
								
								
							</div>
							</div>
							<div class='preview hide'>
								<div class="table-responsive">
									<table class="table align-middle table-row-dashed fs-6 gy-5 table-bordered">
										<thead>
											<tr class="text-start text-gray-400 fw-bold fs-7 text-uppercase gs-0">
												<th class="w-10px pe-2">SNo</th>
												<th class="min-w-200px">Product</th>
												<th class="min-w-150px">Qty</th>
												<th class="min-w-150px">Rate</th>
											</tr>
										</thead>
										<tbody class="fw-semibold text-gray-600" id='tbody2'>
											
										</tbody>
									</table>
									
								</div>
								<div class='d-flex justify-content-between'>
									<button type="button"class="btn btn-info" id='preview_edit'> <span class="indicator-label">Edit</span> </button> 
									<button type="submit" class="btn btn-primary" name='submit'> <span class="indicator-label">Submit</span> </button> 
								</div>
							</div>

						</form>
						<!--Clone Table for dynamic row-->
						<table class="table d-none" id='row-clone'>
							<tr class="border-bottom border-bottom-dashed" data-kt-element="item" >
								<td class="pe-7">
									<select class="form-select form-select-sm"  data-placeholder="Select an option" required name='pid[]'>
										<?php echo $options; ?>
									</select>
								</td>
								
								<td> 
									<input type="text" class="form-control form-control-sm text-end qty" name="qty[]" required data-kt-element="qty" />
								</td>

                                <td> 
									<input type="text" class="form-control form-control-sm text-end rate" name="rate[]" required data-kt-element="rate" />
                                    
                                    <input type="hidden" class="form-control form-control-sm text-end total" name="row_total[]" required data-kt-element="total" />
								</td>

								<td class="pt-5 text-end">
									<button type="button" class="btn btn-sm btn-icon btn-active-color-primary btn-remove" data-kt-element="remove-item">
										<i class="ki-duotone ki-trash fs-3">
											<span class="path1"></span>
											<span class="path2"></span>
											<span class="path3"></span>
											<span class="path4"></span>
											<span class="path5"></span>
										</i>
									</button>
								</td>
							</tr>
                            
						</table>
					</div>
				</div>
			</div>
		</div>
	</div>
</div>
<?php include "_footer_content.php"; ?>
</div>
</div>
</div>
</div>

<?php include "_footer.php";?>

<script>
$(document).ready(function(){ 
	var row = $("#row-clone tbody").html();
	
	$(".pid").select2();
	//Add row
	$("#add_row").click(function(e){
		e.preventDefault();
		$("#tbody").append(row);
		 $(".form-select").select2();
		 $(".pid").select2().trigger("change");
		 
	});
	
	//Preview Action 
	$("#preview").click(function(e){
		var isValid = true;
		var rows = "";
		var i = 1;
		$("#tbody tr").each(function(){
			if($(this).find(".select2-selection__rendered").text()=="Select an option" || $(this).find(".qty").val()==""){
				//alert("Please fill out all the required fields");
				Swal.fire({
					text: "Please fill out all the required fields",
					icon: "error",
					buttonsStyling: !1,
					confirmButtonText: "Ok, got it!",
					customClass: {
						confirmButton: "btn fw-bold btn-primary"
					}
				});
				isValid = false;
			}
			let pname = $(this).find(".select2-selection__rendered").text();
			let qty = $(this).find(".qty").val();
			let rate = $(this).find(".rate").val();
			rows += "<tr><td>"+i+"</td><td>"+pname+"</td><td>"+qty+"</td><td>"+rate+"</td></tr>";
			i++;
		}); 
		if(isValid){
			$(".frm").addClass("hide");
			$(".preview").removeClass("hide");
			$("#tbody2").html(rows);
		}
	});
	
	$("#preview_edit").click(function(){
		$(".preview").addClass("hide");
		$(".frm").removeClass("hide");
	});
	
	
	//Rate Change
	$("body").on("keyup",".rate",function(){
		var rate = $(this).closest("tr").find(".rate").val();
		var qty = $(this).closest("tr").find(".qty").val();
		var total = rate * qty;
		$(this).closest("tr").find(".total").val(total);
		grandTotal();

	});
	
	//Qty Change
	$("body").on("keyup",".qty",function(){
		var rate = $(this).closest("tr").find(".rate").val();
		var qty = $(this).closest("tr").find(".qty").val();
		var total = rate * qty;
		$(this).closest("tr").find(".total").val(total);
		grandTotal();
	});


	//Grand Total
	function grandTotal(){
		var total = 0;
		$(".total").each(function(){
			total+= Number($(this).val());
		});
		$("#net_total").val(total);
	}
	
	//Delete row
	$("body").on("click",".btn-remove",function(){
		$(this).closest("tr").remove();	
		grandTotal();		
	});
	var currentRow = "";
	
	
	//Clear Add Modal Inputs
	function clearAddModal(){
		$("#cname").val("");
		$("#btn-submit").text("Submit");
		
	}
	
	//Clear Edit Modal Inputs
	function clearEditModal(){
		//$("#cname2").val("");
		$("#cid2").val("0");
		$("#btn-submit2").text("Submit");
		
	}
	
	//Open Edit Modal - in Table edit link
	$("body").on("click",".edit",function(e){
		e.preventDefault();
		var cid = $(this).attr("cid");
		var cname = $(this).closest("tr").find('td:eq(1)').text();	
		$("#cid2").val(cid);
		$("#cname2").val(cname);
		$("#kt_modal_edit_target").modal('show');
		
		currentRow = $(this).closest("tr");
	}); 
	
	
});

</script>
</body>
</html>

MMCT - 2023