|
|
@@ -30,11 +30,15 @@ class Index extends Api
|
|
|
public function vocs()
|
|
|
{
|
|
|
$req=$this->request->param();
|
|
|
- Log::record($req);
|
|
|
|
|
|
$time = date('Y/m/d H:i:s');
|
|
|
$rows = $req;
|
|
|
- if($req[0]=='C'){
|
|
|
+ $lx = explode(',',$req[0]);
|
|
|
+ if(count($lx)>1){
|
|
|
+ $res['company'] = $lx[1];
|
|
|
+ $res['machine_no'] = $lx[2];
|
|
|
+ }
|
|
|
+ if($lx[0]=='C'){
|
|
|
//查询匹配主表数据
|
|
|
foreach($rows as $k=>$v){
|
|
|
preg_match('/数据文件/', $v, $matches);
|
|
|
@@ -44,22 +48,23 @@ class Index extends Api
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- //判断数据是否是ABCD开头
|
|
|
- preg_match('/^[A,B,C,D]/', $res['data_txt_name'], $matches);
|
|
|
- if(!count($matches)){
|
|
|
- Log::init([
|
|
|
- // 日志记录方式,支持 file socket
|
|
|
- 'type' => 'File',//type的值为test时临时关闭日志写入
|
|
|
- //日志保存目录
|
|
|
- 'path' => APP_PATH.'../runtime/log/notABCD/',
|
|
|
- //单个日志文件的大小限制,超过后会自动记录到第二个文件
|
|
|
- 'file_size' =>2097152,
|
|
|
- //日志的时间格式,默认是` c `
|
|
|
- 'time_format' =>'c'
|
|
|
- ]);
|
|
|
- Log::record($req);
|
|
|
- return $this->success('数据文件不以A、B、C、D开头,已记录日志',$req,0);
|
|
|
- }
|
|
|
+// //判断数据是否是ABCD开头
|
|
|
+// preg_match('/^[A,B,C,D]/', $res['data_txt_name'], $matches);
|
|
|
+// if(!count($matches)){
|
|
|
+// Log::init([
|
|
|
+// // 日志记录方式,支持 file socket
|
|
|
+// 'type' => 'File',//type的值为test时临时关闭日志写入
|
|
|
+// //日志保存目录
|
|
|
+// 'path' => APP_PATH.'../runtime/log/notABCD/',
|
|
|
+// //单个日志文件的大小限制,超过后会自动记录到第二个文件
|
|
|
+// 'file_size' =>2097152,
|
|
|
+// //日志的时间格式,默认是` c `
|
|
|
+// 'time_format' =>'c',
|
|
|
+// 'level' => ['log'],
|
|
|
+// ]);
|
|
|
+// Log::record(['失败'=>'样品编号为'.$res['data_txt_name'].'数据插入失败','原因'=>'该文件编号不以ABCD开头']);
|
|
|
+// return $this->success('数据文件不以A、B、C、D开头,已记录日志',$req,0);
|
|
|
+// }
|
|
|
foreach($rows as $k=>$v){
|
|
|
preg_match('/样品名称/', $v, $matches);
|
|
|
if(count($matches)){
|
|
|
@@ -343,11 +348,12 @@ class Index extends Api
|
|
|
|
|
|
//提交事务
|
|
|
db()->commit();
|
|
|
+ Log::record(['成功'=>'样品编号为'.$res['data_txt_name'].'数据插入成功']);
|
|
|
return json_encode(['code'=>'0','msg'=>'成功','time'=>$time,'data'=>[$res,$row]]);
|
|
|
} catch (\Exception $e){
|
|
|
//失败回滚
|
|
|
db()->rollback();
|
|
|
- Log::record($e->getMessage());
|
|
|
+ Log::record(['失败'=>'样品编号为'.$res['data_txt_name'].'数据插入失败','原因'=>$e->getMessage()]);
|
|
|
return $e->getMessage();
|
|
|
}
|
|
|
|
|
|
@@ -511,7 +517,15 @@ class Index extends Api
|
|
|
$row[$k]['quantitative_ion'] = $v[3];
|
|
|
$row[$k]['response_value'] = $v[4];
|
|
|
$row[$k]['potency'] = $v[5];
|
|
|
- $row[$k]['unit'] = $v[6];
|
|
|
+ preg_match('/#/', $v[6], $matches);
|
|
|
+ if(count($matches)){
|
|
|
+ $unit = str_replace('#', '', $v[6]);
|
|
|
+ $row[$k]['unit'] = $unit;
|
|
|
+ $row[$k]['deviation'] = '#';
|
|
|
+ }else{
|
|
|
+ $row[$k]['unit'] = $v[6];
|
|
|
+ $row[$k]['deviation'] = '';
|
|
|
+ }
|
|
|
$row[$k]['quanlitative_ion'] = $v[7];
|
|
|
$row[$k]['create'] = $time;
|
|
|
}else{
|
|
|
@@ -522,6 +536,7 @@ class Index extends Api
|
|
|
$row[$k]['response_value'] = $v[3];
|
|
|
$row[$k]['potency'] = $v[3];
|
|
|
$row[$k]['unit'] = $v[3];
|
|
|
+ $row[$k]['deviation'] = '';
|
|
|
$row[$k]['quanlitative_ion'] = $v[3];
|
|
|
$row[$k]['create'] = $time;
|
|
|
}
|
|
|
@@ -539,12 +554,12 @@ class Index extends Api
|
|
|
|
|
|
//提交事务
|
|
|
db()->commit();
|
|
|
-
|
|
|
+ Log::record(['成功'=>'样品编号为'.$res['data_txt_name'].'数据插入成功']);
|
|
|
return json_encode(['code'=>'0','msg'=>'成功','time'=>$time,'data'=>[$res,$row]]);
|
|
|
} catch (\Exception $e){
|
|
|
//失败回滚
|
|
|
db()->rollback();
|
|
|
- Log::record($e->getMessage());
|
|
|
+ Log::record(['失败'=>'样品编号为'.$res['data_txt_name'].'数据插入失败','原因'=>$e->getMessage()]);
|
|
|
return $e->getMessage();
|
|
|
}
|
|
|
|
|
|
@@ -558,11 +573,15 @@ class Index extends Api
|
|
|
public function updateVocs()
|
|
|
{
|
|
|
$req=$this->request->param();
|
|
|
- Log::record($req);
|
|
|
|
|
|
$time = date('Y/m/d H:i:s');
|
|
|
$rows = $req;
|
|
|
- if($req[0]=='C'){
|
|
|
+ $lx = explode(',',$req[0]);
|
|
|
+ if(count($lx)>1){
|
|
|
+ $res['company'] = $lx[1];
|
|
|
+ $res['machine_no'] = $lx[2];
|
|
|
+ }
|
|
|
+ if($lx[0]=='C'){
|
|
|
//查询匹配主表数据
|
|
|
foreach($rows as $k=>$v){
|
|
|
preg_match('/数据文件/', $v, $matches);
|
|
|
@@ -751,20 +770,34 @@ class Index extends Api
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ $res['machine'] = 'GC';
|
|
|
$res['create'] = $time;
|
|
|
|
|
|
- $id = db()->name('gather_txt_gc')->field('id')->where('data_txt_name',$res['data_txt_name'])->find();
|
|
|
+ //查询gc表
|
|
|
+ $id1 = db()->name('gather_txt_gc')->where('data_txt_name',$res['data_txt_name'])->find();
|
|
|
+ if($id1){
|
|
|
+ //删除gc表
|
|
|
+ db()->name('gather_txt_gc')->where('data_txt_name',$res['data_txt_name'])->delete();
|
|
|
+ //删除子表
|
|
|
+ db()->name('gather_txt_check_gc')->where('pid',$id1['id'])->delete();
|
|
|
+ }
|
|
|
+
|
|
|
+ //查询gcms表
|
|
|
+ $id2 = db()->name('gather_txt_gcms')->where('data_txt_name',$res['data_txt_name'])->find();
|
|
|
+ if($id2){
|
|
|
+ //删除gcms表
|
|
|
+ db()->name('gather_txt_gcms')->where('data_txt_name',$res['data_txt_name'])->delete();
|
|
|
+ //删除子表
|
|
|
+ db()->name('gather_txt_check_gcms')->where('pid',$id2['id'])->delete();
|
|
|
+ }
|
|
|
|
|
|
- if($id){
|
|
|
+ if($id1 || $id2){
|
|
|
//开启事务
|
|
|
db()->startTrans();
|
|
|
try {
|
|
|
- //根据id修改主表数据
|
|
|
- $bool = db()->name('gather_txt_gc')->where('id',$id['id'])->update($res);
|
|
|
- if($bool){
|
|
|
- //根据pid删除子表数据
|
|
|
- db()->name('gather_txt_check_gc')->where('pid',$id['id'])->delete();
|
|
|
-
|
|
|
+ //新增
|
|
|
+ $pid = db()->name('gather_txt_gc')->insertGetId($res);
|
|
|
+ if($pid){
|
|
|
//获取子表开始结束索引
|
|
|
$srart = $end = 0;
|
|
|
$rows = array_values($rows);
|
|
|
@@ -799,7 +832,7 @@ class Index extends Api
|
|
|
$row = [];
|
|
|
foreach ($arr as $k=>$v){
|
|
|
if (count($v)==6){
|
|
|
- $row[$k]['pid'] = $id['id'];
|
|
|
+ $row[$k]['pid'] = $pid;
|
|
|
$row[$k]['time'] = $v[0];
|
|
|
$row[$k]['type'] = $v[1];
|
|
|
$row[$k]['peak_area'] = $v[2];
|
|
|
@@ -820,7 +853,7 @@ class Index extends Api
|
|
|
}
|
|
|
$row[$k]['create'] = $time;
|
|
|
}else{
|
|
|
- $row[$k]['pid'] = $id['id'];
|
|
|
+ $row[$k]['pid'] = $pid;
|
|
|
$row[$k]['time'] = $v[0];
|
|
|
$row[$k]['type'] = '';
|
|
|
($v[1] == '-')?$row[$k]['peak_area'] = '-':$row[$k]['peak_area'] = floatval($v[1]);
|
|
|
@@ -854,14 +887,13 @@ class Index extends Api
|
|
|
|
|
|
//提交事务
|
|
|
db()->commit();
|
|
|
+ Log::record(['成功'=>'样品编号为'.$res['data_txt_name'].'数据修改成功']);
|
|
|
return json_encode(['code'=>'0','msg'=>'修改成功','time'=>$time,'data'=>[$res,$row]]);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
} catch (\Exception $e){
|
|
|
//失败回滚
|
|
|
db()->rollback();
|
|
|
- Log::record($e->getMessage());
|
|
|
+ Log::record(['失败'=>'样品编号为'.$res['data_txt_name'].'数据修改失败','原因'=>$e->getMessage()]);
|
|
|
return $e->getMessage();
|
|
|
}
|
|
|
}else{
|
|
|
@@ -974,19 +1006,34 @@ class Index extends Api
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ $res['machine'] = 'GCMS';
|
|
|
$res['create'] = $time;
|
|
|
|
|
|
- $id = db()->name('gather_txt_gcms')->field('id')->where('data_txt_name',$res['data_txt_name'])->find();
|
|
|
- if($id){
|
|
|
+ //查询gc表
|
|
|
+ $id1 = db()->name('gather_txt_gc')->where('data_txt_name',$res['data_txt_name'])->find();
|
|
|
+ if($id1){
|
|
|
+ //删除gc表
|
|
|
+ db()->name('gather_txt_gc')->where('data_txt_name',$res['data_txt_name'])->delete();
|
|
|
+ //删除子表
|
|
|
+ db()->name('gather_txt_check_gc')->where('pid',$id1['id'])->delete();
|
|
|
+ }
|
|
|
+
|
|
|
+ //查询gcms表
|
|
|
+ $id2 = db()->name('gather_txt_gcms')->where('data_txt_name',$res['data_txt_name'])->find();
|
|
|
+ if($id2){
|
|
|
+ //删除gcms表
|
|
|
+ db()->name('gather_txt_gcms')->where('data_txt_name',$res['data_txt_name'])->delete();
|
|
|
+ //删除子表
|
|
|
+ db()->name('gather_txt_check_gcms')->where('pid',$id2['id'])->delete();
|
|
|
+ }
|
|
|
+
|
|
|
+ if($id1 || $id2){
|
|
|
//开启事务
|
|
|
db()->startTrans();
|
|
|
try {
|
|
|
- //根据id修改主表数据
|
|
|
- $bool = db()->name('gather_txt_gcms')->where('id',$id['id'])->update($res);
|
|
|
- if($bool) {
|
|
|
- //根据pid删除子表数据
|
|
|
- db()->name('gather_txt_check_gcms')->where('pid', $id['id'])->delete();
|
|
|
-
|
|
|
+ //新增
|
|
|
+ $pid = db()->name('gather_txt_gcms')->insertGetId($res);
|
|
|
+ if($pid) {
|
|
|
//获取子表开始结束索引
|
|
|
$srart = $end = 0;
|
|
|
$rows = array_values($rows);
|
|
|
@@ -1021,23 +1068,32 @@ class Index extends Api
|
|
|
$row = [];
|
|
|
foreach ($arr as $k=>$v){
|
|
|
if (count($v)==8){
|
|
|
- $row[$k]['pid'] = $id['id'];
|
|
|
+ $row[$k]['pid'] = $pid;
|
|
|
$row[$k]['chemical_compound'] = $v[1];
|
|
|
$row[$k]['persist_time'] = $v[2];
|
|
|
$row[$k]['quantitative_ion'] = $v[3];
|
|
|
$row[$k]['response_value'] = $v[4];
|
|
|
$row[$k]['potency'] = $v[5];
|
|
|
- $row[$k]['unit'] = $v[6];
|
|
|
+ preg_match('/#/', $v[6], $matches);
|
|
|
+ if(count($matches)){
|
|
|
+ $unit = str_replace('#', '', $v[6]);
|
|
|
+ $row[$k]['unit'] = $unit;
|
|
|
+ $row[$k]['deviation'] = '#';
|
|
|
+ }else{
|
|
|
+ $row[$k]['unit'] = $v[6];
|
|
|
+ $row[$k]['deviation'] = '';
|
|
|
+ }
|
|
|
$row[$k]['quanlitative_ion'] = $v[7];
|
|
|
$row[$k]['create'] = $time;
|
|
|
}else{
|
|
|
- $row[$k]['pid'] = $id['id'];
|
|
|
+ $row[$k]['pid'] = $pid;
|
|
|
$row[$k]['chemical_compound'] = $v[1];
|
|
|
$row[$k]['persist_time'] = $v[2];
|
|
|
$row[$k]['quantitative_ion'] = $v[3];
|
|
|
$row[$k]['response_value'] = $v[3];
|
|
|
$row[$k]['potency'] = $v[3];
|
|
|
$row[$k]['unit'] = $v[3];
|
|
|
+ $row[$k]['deviation'] = '';
|
|
|
$row[$k]['quanlitative_ion'] = $v[3];
|
|
|
$row[$k]['create'] = $time;
|
|
|
}
|
|
|
@@ -1045,22 +1101,22 @@ class Index extends Api
|
|
|
|
|
|
//将检测数据插入子表gather_txt_check_gc
|
|
|
db()->name('gather_txt_check_gcms')->insertAll($row);
|
|
|
-
|
|
|
//去除数据文件名称后面的字母和.
|
|
|
$sample_no = preg_replace('/[a-zA-Z\.]+\s*$/', '', $res['data_txt_name']);
|
|
|
//查询entrust表中是否存在, 如果存在修改状态
|
|
|
if(db()->name('entrust')->where('sample_no',$sample_no)->find()){
|
|
|
db()->name('entrust')->where('sample_no',$sample_no)->update(['data_status'=>1]);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
//提交事务
|
|
|
db()->commit();
|
|
|
+ Log::record(['成功'=>'样品编号为'.$res['data_txt_name'].'数据修改成功']);
|
|
|
return json_encode(['code'=>'0','msg'=>'修改成功','time'=>$time,'data'=>[$res,$row]]);
|
|
|
}
|
|
|
} catch (\Exception $e){
|
|
|
//失败回滚
|
|
|
db()->rollback();
|
|
|
- Log::record($e->getMessage());
|
|
|
+ Log::record(['失败'=>'样品编号为'.$res['data_txt_name'].'数据修改失败','原因'=>$e->getMessage()]);
|
|
|
return $e->getMessage();
|
|
|
}
|
|
|
}else{
|