SCTMES_V5/mes_in_sct/app/event/CurveDataPathEvent.php

57 lines
1.8 KiB
PHP
Raw Permalink Normal View History

2025-06-14 18:55:09 +08:00
<?php
namespace app\event;
use Exception;
use libs\db\Db;
use libs\listener\Event;
class CurveDataPathEvent extends Event
{
public function handle($data)
{
if (count($data) <= 0) {
throw new Exception('写入数据为空,请检查!');
}
$end_time = $data["end_time"];
$workingsubclass = $data["workingsubclass"];
$data = $data["data"];
// 获取batch和电池ID
if(in_array($workingsubclass, ['FR','HC', 'YC'])){
$insert_curve_data = [];
$insert_curve_key = sprintf("INSERT INTO hf_mes_production_curve_data_path (batch,subbatch,workingsubclass,process_code,channel,battery_id,device_code,end_time,tray,lot,create_time,curve_path) VALUES ");
foreach($data as $val){
$insert_curve_data[] = sprintf("('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",
$val["batch"],
$val["subbatch"],
$val["workingsubclass"],
$val["process_code"],
1,
$val["item_id"],
$val["device_code"],
$end_time,
$val["tray"],
$val["lot"],
date("Y-m-d H:i:s"),
"/hf-data/". $val["batch"] . '/' . $val['process_code'] . '/' . $val['device_code'] . '/' . $end_time
);
}
//插入曲线表
$sql = $insert_curve_key . implode(',', $insert_curve_data);
$row = Db::query($sql);
if ($row === NULL) {
throw new Exception("曲线写入失败");
}
}
}
}