no commit message
This commit is contained in:
@@ -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数据
|
||||
|
||||
Reference in New Issue
Block a user