stock module latest today vadivel J 05-02-2025

This commit is contained in:
vadivelJ96 2025-02-05 19:29:02 +05:30
parent 1ae39fe9e2
commit 127bf0e61b
7 changed files with 92 additions and 48 deletions

View File

@ -368,7 +368,7 @@ class Rawmaterialdetails extends BaseController
}
$insertResult=$this->materialCategories_model->insert($data);
$insertResult=$this->materialCategories_model->insert($data);
if ($insertResult) {
// Send a success response as JSON

View File

@ -635,8 +635,14 @@ class StockController extends BaseController
$formattedDate = $date->format('Y-m');
$month = $formattedDate;
//filterMaterialCode
$filterMaterialCode = $this->request->getPost('filterMaterialCode');
} else {
$month = date('Y-m');
$filterMaterialCode = ['601529'];
}
$data = [];
@ -666,13 +672,7 @@ class StockController extends BaseController
$startDate = "$month-01";
$endDate = date("Y-m-t", strtotime($startDate));
$data['bagStockDetails'] = $this->bagStockDetails_model
->where('date >=', $startDate)
->where('date <=', $endDate)
->groupBy(['materialCode', 'date'])
->orderBy('date', 'asc')
->orderBy('materialCode', 'asc')
->findAll();
$data['bagStockDetails'] = $this->bagStockDetails_model->getBagStockForGivenMonth($startDate , $endDate ,$filterMaterialCode);
// Initialize an empty array to hold the grouped data
$data['groupedBagStockDetails'] = [];
@ -718,15 +718,9 @@ class StockController extends BaseController
if (!empty($data['groupedBagStockDetails'])) {
$result = $groupedByDate[$date];
$distinctMaterialCodes = [];
foreach ($result as $index => $eachResult) {
$distinctMaterialCodes[] = $result[$index]['materialCode'];
}
$bagMaterials = $this->rawmaterialdetails_model->getSelectedBagMaterialCode($distinctMaterialCodes);
$bagMaterials = $this->rawmaterialdetails_model->getSelectedBagMaterialCode($filterMaterialCode);
} else {
$bagMaterials = $this->rawmaterialdetails_model->getAllBagMaterialCode();
$bagMaterials = $this->rawmaterialdetails_model->getAllBagMaterialCode($filterMaterialCode);
}

View File

@ -6,7 +6,7 @@ use CodeIgniter\Model;
class BagStockDetailsModel extends Model
{
protected $table = 't_bagStockDetails';
protected $table = 't_bagstockdetails';
protected $returnType = 'array';
protected $useSoftDeletes = false;
protected $protectFields = true;
@ -33,4 +33,26 @@ class BagStockDetailsModel extends Model
* @return bool
*/
public function getBagStockForGivenMonth($startDate, $endDate, $filterMaterialCode)
{
$builder = $this->db->table('t_bagstockdetails')
->select('t_bagstockdetails.*')
->where('date >=', $startDate)
->where('date <=', $endDate);
if (!empty($filterMaterialCode)) {
$builder->whereIn('materialCode', $filterMaterialCode);
}
$builder->groupBy(['materialCode', 'date'])
->orderBy('date', 'asc')
->orderBy('materialCode', 'asc');
// Execute the query and store the result
$result = $builder->get()->getResultArray();
return $result;
}
}

View File

@ -164,34 +164,40 @@ class Rawmaterialdetails_model extends Model
return array_column($materialResults, 'MaterialCode');
}
function getAllBagMaterialCode(){
$builder = $this->db->table('t_materialmaster')
->select('MaterialCode , MaterialName')
->where('IsActive', 1)
->where('Category', 'Packing Material')
->orderBy('MaterialCode', 'asc');
$query = $builder->get();
$materialResults = $query->getResultArray();
return $materialResults;
}
function getSelectedBagMaterialCode($distinctMaterialCodes)
function getAllBagMaterialCode($filterMaterialCode)
{
$builder = $this->db->table('t_materialmaster')
->select('MaterialCode, MaterialName')
->whereIn('MaterialCode', $distinctMaterialCodes) // Matches MaterialCode with the array
->orderBy('MaterialCode', 'asc');
$query = $builder->get();
$materialResults = $query->getResultArray();
->select('MaterialCode, MaterialName')
->where('Category', 'Packing Material')
->where('IsActive', 1);
return $materialResults;
if (!empty($filterMaterialCode)) {
$builder->whereIn('MaterialCode', $filterMaterialCode);
}
$builder->orderBy('MaterialCode', 'asc');
$query = $builder->get();
return $query->getResultArray();
}
function getSelectedBagMaterialCode($filterMaterialCode)
{
$builder = $this->db->table('t_materialmaster')
->select('MaterialCode, MaterialName')
->where('Category', 'Packing Material');
if (!empty($filterMaterialCode)) {
$builder->whereIn('MaterialCode', $filterMaterialCode);
}
$builder->orderBy('MaterialCode', 'asc');
$query = $builder->get();
return $query->getResultArray();
}
function getAllResinMaterialCode(){

View File

@ -507,7 +507,7 @@
<!-- this else condition work if groupedBagStockDetails is empty and creating new records
with initial values 0 for entire month -->
<?php } else { ?>
<?php } else { ?>
<?php foreach($datesInMonth as $datesInMonthIndex => $dateInMonth){ ?>
<tr
@ -517,6 +517,7 @@
$currentDate = date('d-m-Y');
$dateInMonthDmYFormat=DateTime::createFromFormat('Y-m-d', $dateInMonth)->format('d-m-Y');
if ($dateInMonthDmYFormat === $currentDate) { echo 'style="background: #cef0ad;"';}
?>
>
<?php
@ -555,7 +556,21 @@
contenteditable="true"
<?php }?>
><?= $previousMonthBagStockDetails[$bagMaterialIndex]['balanceStock'] ?? ' ' ?></td>
>
<?php
echo isset($previousMonthBagStockDetails[$bagMaterialIndex]) &&
$previousMonthBagStockDetails[$bagMaterialIndex]['materialCode'] == $bagMaterial['MaterialCode']
? $previousMonthBagStockDetails[$bagMaterialIndex]['balanceStock']
: ' ';
?>
</td>
<td class="celda_normal receiptStock"
data-id="<?=$dateInMonth?> <?=$bagMaterial['MaterialCode']?>"
@ -568,7 +583,14 @@
<td class="celda_normal balanceStock"
data-id="<?=$dateInMonth?> <?=$bagMaterial['MaterialCode']?>"
><?= $previousMonthBagStockDetails[$bagMaterialIndex]['balanceStock'] ?? ' ' ?></td>
>
<?php
echo isset($previousMonthBagStockDetails[$bagMaterialIndex]) &&
$previousMonthBagStockDetails[$bagMaterialIndex]['materialCode'] == $bagMaterial['MaterialCode']
? $previousMonthBagStockDetails[$bagMaterialIndex]['balanceStock']
: ' ';
?>
</td>
<?php } ?>
</tr>
<?php } ?>

View File

@ -316,7 +316,7 @@ $datefordropdown = format_date($datefordropdown, 0, 'M-Y');
<div class="col-3">
<input type="submit" value="Change Month" class="btn btn-success" style="margin-top:0px;">
<button type="button" style="margin-top:0px; background-color:grey" class="btn btn-success" data-target="#additionalEntriesModalId" data-toggle="modal">
Add Shift
Add Entry
</button>
</div>

View File

@ -1123,9 +1123,9 @@ foreach ($period as $day) {
let totalUnitsTP = totalReadingTP * 60 ;
document.querySelector(`td.totalReadingTP[data-id="${dataId}"]`).innerText = totalReadingTP ;
document.querySelector(`td.totalReadingTP[data-id="${dataId}"]`).innerText = (totalReadingTP).toFixed(2) ;
document.querySelector(`td.totalUnitsTP[data-id="${dataId}"]`).innerText = totalUnitsTP ;
document.querySelector(`td.totalUnitsTP[data-id="${dataId}"]`).innerText = (totalUnitsTP).toFixed(2) ;
updateTotalStockValue(dataId , finalTP) ;
@ -1151,9 +1151,9 @@ foreach ($period as $day) {
let totalUnitsTP = totalReadingTP * 60 ;
document.querySelector(`td.totalReadingTP[data-id="${dataId}"]`).innerText = totalReadingTP ;
document.querySelector(`td.totalReadingTP[data-id="${dataId}"]`).innerText = (totalReadingTP).toFixed(2) ;
document.querySelector(`td.totalUnitsTP[data-id="${dataId}"]`).innerText = totalUnitsTP ;
document.querySelector(`td.totalUnitsTP[data-id="${dataId}"]`).innerText = (totalUnitsTP).toFixed(2) ;
updateTotalStockValue(dataId , finalTP)