add the annual accumulation of mileage costs for the selection of the coefficient
This commit is contained in:
parent
6f0047cc77
commit
23cd63963a
@ -89,24 +89,19 @@ if (empty($fk_expense) || $fk_expense < 0) {
|
|||||||
$rep->response_status = 'error';
|
$rep->response_status = 'error';
|
||||||
} else {
|
} else {
|
||||||
$expense = new ExpenseReport($db);
|
$expense = new ExpenseReport($db);
|
||||||
$result = $expense->computeTotalKm($fk_c_exp_tax_cat, $qty, $vatrate);
|
$result = $expense->fetch($fk_expense);
|
||||||
if ($result < 0) {
|
if ($result){
|
||||||
$rep->error = $result;
|
$result = $expense->computeTotalKm($fk_c_exp_tax_cat, $qty, $vatrate);
|
||||||
$rep->errorMessage = $langs->trans('errorComputeTtcOnMileageExpense');
|
if ($result < 0) {
|
||||||
$rep->response_status = 'error';
|
$rep->error = $result;
|
||||||
} else {
|
$rep->errorMessage = $langs->trans('errorComputeTtcOnMileageExpense');
|
||||||
$rep->data = $result;
|
$rep->response_status = 'error';
|
||||||
$rep->response_status = 'success';
|
} else {
|
||||||
|
$rep->data = $result;
|
||||||
|
$rep->response_status = 'success';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*if (empty($range)) {
|
|
||||||
$rep->errorMessage = json_encode(array('error' => $langs->transnoentitiesnoconv('ErrorRecordNotFound'), 'range' => $range));
|
|
||||||
$rep->response_status = 'error';
|
|
||||||
} else {
|
|
||||||
$ikoffset = price($range->ikoffset, 0, $langs, 1, -1, -1, $conf->currency);
|
|
||||||
$rep->errorMessage = json_encode(array('up' => $range->coef, 'ikoffset' => $range->ikoffset, 'title' => $langs->transnoentitiesnoconv('ExpenseRangeOffset', $ikoffset), 'comment' => 'offset should be applied on addline or updateline'));
|
|
||||||
$rep->response_status = 'error';
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2604,7 +2604,7 @@ if ($action == 'create') {
|
|||||||
let tax_cat = jQuery("#select_fk_c_exp_tax_cat").find(":selected").val();
|
let tax_cat = jQuery("#select_fk_c_exp_tax_cat").find(":selected").val();
|
||||||
let tva = jQuery("#vatrate").find(":selected").val();
|
let tva = jQuery("#vatrate").find(":selected").val();
|
||||||
let qty = jQuery("#input_qty").val();
|
let qty = jQuery("#input_qty").val();
|
||||||
console.log(qty);
|
|
||||||
|
|
||||||
|
|
||||||
let path = "'.dol_buildpath("/expensereport/ajax/ajaxik.php", 1) .'";
|
let path = "'.dol_buildpath("/expensereport/ajax/ajaxik.php", 1) .'";
|
||||||
@ -2621,12 +2621,9 @@ if ($action == 'create') {
|
|||||||
,dataType:"json"
|
,dataType:"json"
|
||||||
,success:function(response) {
|
,success:function(response) {
|
||||||
if (response.response_status == "success"){
|
if (response.response_status == "success"){
|
||||||
|
|
||||||
jQuery("#value_unit_ht").val(response.data);
|
jQuery("#value_unit_ht").val(response.data);
|
||||||
}else{
|
jQuery("#value_unit").val("");
|
||||||
/* console.log(response.errorMessage) */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
@ -2572,10 +2572,10 @@ class ExpenseReport extends CommonObject
|
|||||||
global $langs,$user,$db,$conf;
|
global $langs,$user,$db,$conf;
|
||||||
|
|
||||||
|
|
||||||
$total_ttc = 0;
|
$cumulYearQty = 0;
|
||||||
$ranges = array();
|
$ranges = array();
|
||||||
$coef = 0;
|
$coef = 0;
|
||||||
$offset = 0;
|
|
||||||
|
|
||||||
if ($fk_cat < 0) {
|
if ($fk_cat < 0) {
|
||||||
$this->error = $langs->trans('ErrorBadParameterCat');
|
$this->error = $langs->trans('ErrorBadParameterCat');
|
||||||
@ -2604,6 +2604,26 @@ class ExpenseReport extends CommonObject
|
|||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
|
|
||||||
if ($result) {
|
if ($result) {
|
||||||
|
|
||||||
|
if ($conf->global->EXPENSEREPORT_CALCULATE_MILEAGE_EXPENSE_COEFFICIENT_ON_CURRENT_YEAR){
|
||||||
|
|
||||||
|
$arrayDate = dol_getdate(dol_now());
|
||||||
|
$sql = " SELECT count(n.qty) as cumul FROM ".MAIN_DB_PREFIX."expensereport_det n";
|
||||||
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."expensereport e ON e.rowid = n.fk_expensereport";
|
||||||
|
$sql.= " WHERE e.fk_user_author = ".(int) $this->fk_user_author;
|
||||||
|
$sql.= " AND YEAR(n.date) = ".(int) $arrayDate['year'] ;
|
||||||
|
$sql.= " AND n.fk_c_type_fees = 4";
|
||||||
|
$sql.= " AND e.fk_statut = ".(int) ExpenseReport::STATUS_VALIDATED;
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
|
||||||
|
if ($resql){
|
||||||
|
$obj = $this->db->fetch_object($resql);
|
||||||
|
$cumulYearQty = $obj->cumul;
|
||||||
|
}
|
||||||
|
$qty = $cumulYearQty + $qty;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
$num = $this->db->num_rows($result);
|
$num = $this->db->num_rows($result);
|
||||||
|
|
||||||
if ($num) {
|
if ($num) {
|
||||||
@ -2617,12 +2637,12 @@ class ExpenseReport extends CommonObject
|
|||||||
for ($i = 0; $i < $num; $i++) {
|
for ($i = 0; $i < $num; $i++) {
|
||||||
if ($i < ($num - 1)) {
|
if ($i < ($num - 1)) {
|
||||||
|
|
||||||
if ($qty > $ranges[$i]->range && $qty < $ranges[$i+1]->range) {
|
if ($qty > $ranges[$i]->range_ik && $qty < $ranges[$i+1]->range_ik) {
|
||||||
$coef = $ranges[$i]->coef;
|
$coef = $ranges[$i]->coef;
|
||||||
$offset = $ranges[$i]->offset;
|
$offset = $ranges[$i]->offset;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ($qty > $ranges[$i]->range) {
|
if ($qty > $ranges[$i]->range_ik) {
|
||||||
$coef = $ranges[$i]->coef;
|
$coef = $ranges[$i]->coef;
|
||||||
$offset = $ranges[$i]->offset;
|
$offset = $ranges[$i]->offset;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user