基本完成前后端代码

This commit is contained in:
Yu Sun
2022-07-10 03:36:18 +08:00
parent 9fb0906b09
commit dcc4780d46
7 changed files with 287 additions and 52 deletions

View File

@@ -10,23 +10,50 @@ class EDataCapture {
protected $get = NULL
) {}
private function set_data() {
foreach (array_chunk($this -> post -> param, 6507524, true) as $chunk) {
$sql_cmd[] = [sprintf(
"INSERT INTO hf_mes_scada_data_capture_node_data_%s",
$chunk[0] -> working_subclass
)];
function set_node_data() {
foreach (array_chunk($this -> post -> param -> data, 6507524, true) as $chunk) {
$sql_head = sprintf(
"INSERT INTO hf_mes_scada_data_capture_node_data_%s (code, v_%s, device_code, batch)
VALUES",
$this -> post -> param -> working_subclass,
$this -> post -> param -> type
);
foreach ($chunk as $row) {
$sql_cmd[] = sprintf(
"(code, v_%s, device_code, batch) VALUES('%s', %s, %s, %s)",
$row -> type,
$sql_values[] = sprintf(
"('%s', %s, %s, %s)",
$row -> code,
$row -> value,
$row -> device_code ?? NULL,
$row -> batch ?? NULL
$row -> device_code ?? 'DEFAULT',
$row -> batch ?? 'DEFAULT'
);
}
return pg_query($this -> dbconn, implode(' ', $sql_cmd));
return pg_query($this -> dbconn, $sql_head . implode(',', $sql_values));
}
}
function get_node_data() {
$name_type = pg_fetch_assoc(pg_query($this -> dbconn, sprintf(
"SELECT name, type
FROM hf_mes_scada_data_capture_node_configure
WHERE working_subclass = '%s'
AND code = '%s'",
$this -> get['working_subclass'],
$this -> get['code']
)));
$res = pg_fetch_all(pg_query($this -> dbconn, sprintf(
"SELECT id, v_%s AS value, device_code, batch, capture_time
FROM hf_mes_scada_data_capture_node_data_%s
WHERE code = '%s'",
$name_type['type'],
$this -> get['working_subclass'],
$this -> get['code']
)));
array_walk($res, function(&$v, $k) use ($name_type) {
$v['name'] = $name_type['name'];
});
return $res;
}
}

View File

@@ -105,4 +105,19 @@ class ENodeConfigure {
$res = pg_query($this -> dbconn, "SELECT * FROM hf_mes_scada_data_capture_node_configure");
return pg_fetch_all($res);
}
function get_working_subclasses() {
$res = pg_query($this -> dbconn, "SELECT DISTINCT ON (working_subclass) working_subclass FROM hf_mes_scada_data_capture_node_configure");
return pg_fetch_all_columns($res, 0);
}
function get_codes_by_working_subclasses() {
$res = pg_query($this -> dbconn, sprintf(
"SELECT code
FROM hf_mes_scada_data_capture_node_configure
WHERE working_subclass = '%s'",
$this -> get['working_subclass']
));
return pg_fetch_all_columns($res, 0);
}
}