no commit message

This commit is contained in:
雨中磐石
2024-10-18 15:27:40 +08:00
parent 9a2a3a2c8a
commit 559c388ea0
103 changed files with 2021 additions and 783 deletions

View File

@@ -941,41 +941,56 @@ class inputAction extends Action
$fields = substr($fields, 1);
if($fieldss!='')$fieldss = substr($fieldss,1);
$data = c('html')->importdata($fields, $fieldss); //获取提交过来要导入的数据库
if(!$data)return returnerror('没有可导入的数据,注意*是必填的哦');
$msgstr = '';
$hobj = c('html');
$data = $hobj->importdata($fields, $fieldss,'', 1); //获取提交过来要导入的数据库
$errdata= $hobj->importerrda();
if(!$data)return returnerror('没有可导入的数据,注意*是必填的哦',201, array('errdata'=>$errdata));
//保存前判断
if(method_exists($flow,'flowdaorubefore')){
$data = $flow->flowdaorubefore($data);
if(is_string($data))return returnerror($data);
$data = $flow->flowdaorubefore($data, $errdata);
if(is_string($data))return returnerror($data, 201, array('errdata'=>$errdata));
}
//判断是否有重复
$ldata = array();
foreach($data as $k=>$rs){
$bos = true;
foreach($onlyfield as $onid){
$val = arrvalue($rs, $onid);
if(!isempt($val)){
$tos = $flow->rows("`$onid`='$val'");
if($tos>0){
$bos = false;
$msgstr.='行'.($k+1).'的字段'.$onid.'存在重复;';
break;
if($onlyfield){
foreach($data as $k=>$rs){
$bos = true;
foreach($onlyfield as $onid){
$val = arrvalue($rs, $onid);
if(!isempt($val)){
$tos = $flow->rows("`$onid`='$val'");
if($tos>0){
$bos = false;
$errdata[$rs['drxu']] = '字段('.$onid.':'.$val.')存在重复';
break;
}
}
}
if($bos)$ldata[] = $rs;
}
if($bos)$ldata[] = $rs;
}else{
$ldata = $data;
}
if(!$ldata)return returnerror('没有可导入的数据'.$msgstr.'');
if(!$ldata)return returnerror('没有可导入的数据',201, array('errdata'=>$errdata));
$allfields = $this->db->getallfields('[Q]'.$flow->mtable.'');
$oi = 0;
$dorudat= array();
foreach($ldata as $k=>$rs){
$drerr = '';
if(isset($rs['drerr'])){
$drerr = $rs['drerr'];
if($drerr){
$errdata[$rs['drxu']] = $drerr;
continue;
}
}
unset($rs['drxu']);
unset($rs['drerr']);
$id = (int)arrvalue($rs,'id','0');
$where = '';
if($id>0){
@@ -1019,20 +1034,22 @@ class inputAction extends Action
$na = ($isturn=='1') ? '提交' : '保存';
$flow->submit($na);
}
$errdata[$drxu] = 'ok';
}else{
$msgstr.='行'.($k+1).'保存数据库错误;';
$errdata[$drxu] = '数据库错误:'.$this->db->error().'';
}
}
if($oi==0)return returnerror('导入数据为0条'.$msgstr.'');
if($oi==0)return returnerror('导入数据为0条', 201, array('errdata'=>$errdata));
//保存后判断
if(method_exists($flow,'flowdaoruafter')){
$flow->flowdaoruafter($dorudat);
}
return returnsuccess('成功导入'.$oi.'条数据'.$msgstr.'');
$bcarr = returnsuccess('成功导入'.$oi.'条数据');
$bcarr['errdata'] = $errdata;
return $bcarr;
}
//读取导入的excel数据