57 lines
1.8 KiB
PHP
57 lines
1.8 KiB
PHP
<?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("曲线写入失败");
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
}
|