Вы сказали:
Как мне собрать и вывести в Stacked bar/line в Chart.js Данные сумма всех sum_order на одном status_deal который равен ST_DEAL
Bar который показывает список этапов и выводит сумму какая есть на этом этапе
Например сумма Новый этап 30000руб и т.д.
Если что то не ясно задавай вопрос Подробно описывая
CREATE TABLE [orders](
[id] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[kp_id] INT,
[status_deal] INT DEFAULT 0,
[deal_update] DATETIME,
[account_id_create] INT,
[account_id_update] INT,
[users_order_ids] VARCHAR,
[organization_id] INT DEFAULT NULL,
[date_up_notis] DATETIME,
[type_payment] INT DEFAULT 1,
[account_id_invoice] INT,
[payment_step] INT DEFAULT 0,
[invoice_date] DATETIME,
[kp_num_out] VARCHAR,
[sum_order] INT DEFAULT 0,
[text_sensors_re] VARCHAR,
[text_sensors_bill_kp] VARCHAR,
[text_payment_step] VARCHAR,
[bill_num] VARCHAR,
[bill_amount] INT DEFAULT 0,
[delivery_days] INT,
[discount_percentage] INT,
[cost_markup] INT,
[additions_options] VARCHAR);
$ST_DEAL = [ ['text'=>'Новый запрос','css'=>'background-color:#79c4f7;','stage_lid'=>0,'limitday'=>2],['text'=>'ОПИ','css'=>'background-color:#73d3f2;display:none;','stage_lid'=>1,'limitday'=>2],
['text'=>'Подготовка КП','css'=>'background-color:#78d1dc;','stage_lid'=>2,'limitday'=>3],['text'=>'КП отправлено','css'=>'background-color:#6de3c7;','stage_lid'=>3,'limitday'=>4],
['text'=>'Подготовка договора','css'=>'background-color:#f7cd7b;','stage_lid'=>4,'limitday'=>3],['text'=>'Договор отправлен','css'=>'background-color:#8dc3e5;','stage_lid'=>5,'limitday'=>6],
['text'=>'Выставить счет/спецификацию','css'=>'background-color:#b0e3f3;','stage_lid'=>6,'limitday'=>2],['text'=>'Контроль оплаты','css'=>'background-color:#de7174;','stage_lid'=>7,'limitday'=>6],
['text'=>'Заказ в производстве','css'=>'background-color:#74d1ed;','stage_lid'=>8,'limitday'=>2],['text'=>'Заказ на сборке','css'=>'background-color:#a6e7fa;','stage_lid'=>9,'limitday'=>2],
['text'=>'Заказ готов к отгрузке','css'=>'background-color:#44a46d;','stage_lid'=>10,'limitday'=>2],['text'=>'Заказ доставлен','css'=>'background-color:#f6f312;','stage_lid'=>11,'limitday'=>2],['text'=>'ОПИ','css'=>'background-color:#b57eee;','stage_lid'=>12,'limitday'=>2] ];
$ST_DEAL[150] = ['text'=>'Завершено приобретен','css'=>'background-color:orange;','stage_lid'=>150,'limitday'=>0];
if($dealkp_n=='' && !is_numeric($dealkp_n) || $dealkp_n=='all')//подчет количества активных сделок ИТОГО
$countAll = "!='' AND status_deal!='100' AND status_deal!='150' ";
else
$countAll = "='$dealkp_n'";
$count_allOrd = $SQLite3->querySingle("SELECT COUNT(id) FROM orders WHERE status_deal $countAll");
//подчетк количества заказов на этапах и сами этапы
$StInCo= $st_order_deal= $otcr_all_select = $dealslectOtcr ='';
$dealCSScomplite='complete';
$stinfocounAll=$activeDEALchoice=0;
if(is_numeric($dealkp_n) && $dealkp_n==100)//fix archive view
$ST_DEAL[100] = ['text'=>'Не приобретен ','css'=>'background-color:red !important;','stage_lid'=>100];//fix АРХИВНАЯ ОТЛОЖЕННАЯ СДЕЛКА !!!!!!! просмотр архива ЗАГРУЗИТЬ ЕЩЕ..
foreach($ST_DEAL as $key => $value){
if($key==150 && $dealkp_n!=150)//fix hidden complete button
continue;
//подчет заказов сделок в каждом этапе сделок
$stinfocoun=0;
if($stinfocoun = $SQLite3->querySingle("SELECT COUNT(id) as StInCo FROM orders WHERE status_deal='{$value['stage_lid']}'") ){
$StInCo .= '<tr class="class="list-group"">
<td class="col list-group-item list-group-item-action d-flex gap-3 py-3" aria-current="true" style=" background: inherit; border: inherit;"> </td>
<td class="col-11" style="padding:0;padding-top:5px;">
<i class="text-muted">'.$ST_DEAL[$value['stage_lid']]['text'].'</i><br>
<div class="progress progress-info" style="height: 20px;">
<div class="progress-bar" role="progressbar" style="'.$ST_DEAL[$value['stage_lid']]['css'].' color: #0b1650; width: '.$stinfocoun.'%" aria-valuenow="'.$stinfocoun.'" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"><i>'.$stinfocoun.'</i></div>
</div>
</td>
<td class="col-1 text-center" style="padding: 0; padding-top: 25px;"><i style=" border: 1px solid #cecece; border-collapse: collapse; padding: 4px; border-radius: 50px">'.$stinfocoun.'</i></td>
</tr>
';
}
$ST_DEAL[$key]['stinfocoun']=$stinfocoun;
$stinfocounAll = $stinfocounAll + $stinfocoun;
//этапы сделок закаов
if(!empty($DEAL_ONE) && $value['stage_lid']==$DEAL_ONE[0]['status_deal'] || $dealkp_n==$value['stage_lid'] && $dealkp_n!='all'){
$dealCSScomplite='active choicereturn';
$dealslectOtcr='selected';
$activeDEALchoice = $key;
}elseif(!empty($DEAL_ONE) && $value['stage_lid']>$DEAL_ONE[0]['status_deal'] || $dealkp_n<$value['stage_lid'] && $dealkp_n!='all'){
$dealCSScomplite=$dealslectOtcr='';
}
$st_order_deal .= '<button id="st'.$value['stage_lid'].'" type="button" class="tab1 '.$dealCSScomplite.' btn btn-secondary" data-node-index="'.$key.'" style="'.$value['css'].'">
<!-- //data-bs-toggle="modal" data-bs-target="#modalChoice" <img src="" alt="tab-icon"> add img array -->
<div>'.$value['text'].'<p style="text-align: center;"> '.$ST_DEAL[$key]['stinfocoun'].'</p><!--<p>контакты отдела</p>-->
</div>
<div class="triangle"></div>
</button> ';
$otcr_all_select.= '<option value="'.$value['stage_lid'].'" '.$dealslectOtcr.'>'.$value['text'].'</option>';
}