diff --git a/README.md b/README.md
index 28e303f..0d285fc 100644
--- a/README.md
+++ b/README.md
@@ -6,11 +6,11 @@
官网网站:http://www.rockoa.com/
源码仅供学习二次开发使用,禁止二次发布,禁止用于商业用途出售等(违者必究)
版权:Copyright @2016-2025 信呼开发团队
-版本整理时间:2025-03-31 23:59:59
-版本号:V2.6.8
+版本整理时间:2025-05-27 23:59:59
+版本号:V2.6.9
-### V2.6.8更新说明
+### V2.6.9更新说明
1、完善系统安全性。
2、更多升级日志详见:http://www.rockoa.com/view_core.html
diff --git a/config/version.php b/config/version.php
index 4b2278a..aa94038 100644
--- a/config/version.php
+++ b/config/version.php
@@ -1,3 +1,3 @@
,\,');
+ $lvlaraa = explode(',',' ,user(),found_rows,(),\',",select*from,select*,%20,<,>,\,');
$s = str_replace($lvlaraa, '', $s);
+ $s = str_replace(array('(',')'), array('锛','锛'), $s);
if($s!=$s2)$str = $s;
return $str;
}
diff --git a/include/chajian/rockeditChajian.php b/include/chajian/rockeditChajian.php
index bcddf50..f7aee8e 100644
--- a/include/chajian/rockeditChajian.php
+++ b/include/chajian/rockeditChajian.php
@@ -5,21 +5,24 @@
class rockeditChajian extends Chajian{
+ public $officebj_url = '';
+ private $officebj_urls = '';
protected function initChajian()
{
+ //$urs = $this->rock->jm->base64decode('aHR0cHM6Ly9kb2NzLnR1emlvYS5jb20vb2ZmaWNlLw::');
$urs = $this->rock->jm->base64decode('aHR0cDovL29mZmljZS5yb2Nrb2EuY29tLw::');
$url = getconfig('officebj_url', $urs);
$this->agentkey = getconfig('officebj_key');
if(substr($url,-1)!='/')$url.='/';
- $this->updatekel = $url;
- $this->updatekey = $url.'api.php';
+ $this->officebj_url = $url;
+ $this->officebj_urls = $url.'api.php';
}
public function geturlstr($mod, $act, $can=array())
{
- $url = $this->updatekey;
+ $url = $this->officebj_urls;
$url.= '?m='.$mod.'&a='.$act.'';
$url.= '&host='.$this->rock->jm->base64encode(HOST).'&ip='.$this->rock->ip.'&xinhukey='.getconfig('xinhukey').'';
$url.= '&adminid='.$this->adminid.'';
@@ -73,6 +76,7 @@ class rockeditChajian extends Chajian{
$filepath = $filepathout;
$recedata = $filepath;
}
+ if(substr($filepath,0,4)=='http' && !$recedata)$recedata = $filepath;
if(isempt($onlynum)){
$onlynum = md5(''.$this->rock->jm->getRandkey().date('YmdHis').'file'.$id.'');
@@ -93,7 +97,7 @@ class rockeditChajian extends Chajian{
$type = $data['type'];
$gokey = $data['gokey'];
$gourl = arrvalue($data,'gourl');
- if(isempt($gourl))$gourl = $this->updatekel;
+ if(isempt($gourl))$gourl = $this->officebj_url;
$bsar = $data;
if($type=='0'){
if($recedata=='')$recedata = $this->rock->jm->base64encode(file_get_contents($filepath));
@@ -121,8 +125,33 @@ class rockeditChajian extends Chajian{
$callurl = $this->rock->getouturl().'api.php?m=upload&a=upfilevb&fileid='.$id.'&adminid='.$this->adminid.'&token='.$admintoken.'';
$url.='&callurl='.$this->rock->jm->base64encode($callurl).'';
}
- $bsar['url'] = $url;
+
+ $bsar['url'] = 'index.php?m=public&a=goto&url='.urlencode($url).'';
}
return returnsuccess($bsar);
}
+
+ /**
+ * 鑾峰彇鎺ㄩ侀厤缃
+ */
+ public function getwsinfo()
+ {
+ $barr = $this->getdata('file','wsinfo');
+ if(!$barr['success'])return '';
+ return $barr['data'];
+ }
+
+ /**
+ * 璺宠浆鍦板潃鑾峰彇
+ */
+ public function gotourl($gourl,$gokey,$filenum, $otype, $token, $id)
+ {
+ if(!$gourl)$gourl = $this->officebj_url;
+ $url = $gourl.'api.php?m=file&a=goto&filenum='.$filenum.'&optid='.$this->adminid.'&gokey='.$gokey.'&otype='.$otype.'';
+ if($otype==0){
+ $callurl = $this->rock->getouturl().'api.php?m=upload&a=upfilevb&fileid='.$id.'&adminid='.$this->adminid.'&token='.$token.'';
+ $url.='&callurl='.$this->rock->jm->base64encode($callurl).'';
+ }
+ return 'index.php?m=public&a=goto&url='.urlencode($url).'';
+ }
}
\ No newline at end of file
diff --git a/include/chajian/upfileChajian.php b/include/chajian/upfileChajian.php
index dc838e5..5cb85f2 100644
--- a/include/chajian/upfileChajian.php
+++ b/include/chajian/upfileChajian.php
@@ -77,6 +77,8 @@ class upfileChajian extends Chajian{
$bo = false;
$upallfile = $this->jpgallext.$this->upallfile;
if($this->contain($upallfile, '|'.$ext.'|'))$bo = true;
+ $stype = getconfig('savefiletype');//鍙洿鎺ヤ繚瀛樼殑鏂囦欢绫诲瀷
+ if($stype && !$bo && $this->contain(','.$stype.',', ','.$ext.','))$bo = true;
return $bo;
}
diff --git a/include/chajian/xinhuapiChajian.php b/include/chajian/xinhuapiChajian.php
index 8df017b..588666d 100644
--- a/include/chajian/xinhuapiChajian.php
+++ b/include/chajian/xinhuapiChajian.php
@@ -4,4 +4,4 @@
* 浣滆咃細纾愮煶(rainrock)
* 缃戝潃锛歨ttp://www.rockoa.com/
* 绯荤粺鏂囦欢
-*/ class xinhuapiChajian extends Chajian{ private $updatekey = ''; private $updatekeys = ''; private $systemnum = ''; private $smsapikey = ''; public $qiannum,$sendtype; protected function initChajian() { if(getconfig('systype')=='dev'){ $this->updatekeys = 'aHR0cDovLzEyNy4wLjAuMS9hcHAvcm9ja2FwaS8:'; }else{ $this->updatekeys = 'aHR0cDovL2FwaS5yb2Nrb2EuY29tLw::'; } $this->updatekey =$this->rock->jm->base64decode($this->updatekeys); $this->getsysnum(); } private function getsysnum() { $dbs = m('option'); $this->systemnum = $dbs->getval('systemnum'); $this->smsapikey = $dbs->getval('sms_apikey'); $this->qiannum = $dbs->getval('sms_qmnum'); $this->sendtype = $dbs->getval('sms_dirtype'); if(isempt($this->qiannum))$this->qiannum = ''; if(isempt($this->systemnum)){ $rnd = md5(str_shuffle('abcedfghijk').rand(1000,9999)); $dbs->setval('systemnum', $rnd); $this->systemnum = $rnd; } return $this->systemnum; } public function geturlstr($mod, $act, $can=array()) { $url = $this->updatekey; $url.= '?m='.$mod.'&a='.$act.''; $url.= '&host='.$this->rock->jm->base64encode(HOST).'&version='.VERSION.'&randtime='.time().'&ip='.$this->rock->ip.'&xinhukey='.getconfig('xinhukey').'&sysnum='.$this->systemnum.''; if(!isempt($this->smsapikey))$url.='&smsapikey='.$this->smsapikey.''; $url.= '&authorkey='.getconfig('authorkey').''; foreach($can as $k=>$v)$url.='&'.$k.'='.$v.''; return $url; } public function getdata($mod, $act, $can=array()) { $url = $this->geturlstr($mod, $act, $can); $cont = c('curl')->getcurl($url); if(!isempt($cont) && contain($cont, 'success')){ $data = json_decode($cont, true); }else{ $data = returnerror('鏃犳硶璁块棶鍒板畼缃慉PI鐨,'.$cont.''); } return $data; } public function postdata($mod, $act, $can=array()) { $url = $this->geturlstr($mod, $act); $cont = c('curl')->postcurl($url, $can); if(!isempt($cont) && contain($cont, 'success')){ $data = json_decode($cont, true); }else{ $data = returnerror('鏃犳硶璁块棶鍒板畼缃慉PI鐨,'.$cont.''); } return $data; } public function urlsmall($url) { if(isempt($url))return ''; $barr = $this->getdata('sms','urlsmall', array( 'url' => $this->rock->jm->base64encode($url) )); if(!$barr['success'])return $url; return $barr['data']['url']; } public function send($tomobile,$qiannum, $tplnum, $params=array(), $url='', $addlog=true) { if(isempt($qiannum))$qiannum = $this->qiannum; if(!isempt($this->sendtype)){ if(!isset($params['url']) && $url)$params['url'] = $url; $barr = c($this->sendtype)->send($tomobile, $qiannum, $tplnum, $params); }else{ $para['sys_tomobile'] = $tomobile; $para['sys_tplnum'] = $tplnum; $para['sys_qiannum'] = $qiannum; $para['sys_url'] = $this->rock->jm->base64encode($url); foreach($params as $k=>$v)$para['can_'.$k.''] = $v; $barr = $this->postdata('sms','send', $para); } if(!$barr['success'] && $addlog)m('log')->addlogs('鐭俊', $barr['msg'],2); return $barr; } public function sendsms($receid, $qiannum, $tplnum, $params=array(), $url='', $addlog=true, $isyb=true) { if(isempt($receid))return returnerror('娌℃湁鎺ユ敹浜'); $receda = explode(',', $receid); if(c('check')->iscnmobile($receda[0])){ $tomobile = $receid; }else{ $tomobile = m('admin')->getjoinfields($receid, 'mobile'); } if(isempt($tomobile))return returnerror('鎺ユ敹浜篬'.$receid.']鍙兘娌¤缃墜鏈哄彿'); $toama = explode(',', $tomobile); $toarr = array(); foreach($toama as $tostr)if(!contain($tostr,'000000'))$toarr[]=$tostr; if(!$toarr)return returnerror('鎺ユ敹浜虹殑鎵嬫満鍙蜂笉瀹屾暣'); $tomobile = join(',', $toarr); if(isempt($qiannum))$qiannum = $this->qiannum; if(getconfig('asynsend') && $isyb){ $ybbo = m('reim')->asynurl('asynrun','sendsms', array( 'tomobile' => $tomobile, 'qiannum' => $qiannum, 'tplnum' => $tplnum, 'url' => $this->rock->jm->base64encode($url), 'params' => $this->rock->jm->base64encode(json_encode($params)), )); if($ybbo)return returnsuccess('寮傛鍙戦'); } return $this->send($tomobile, $qiannum, $tplnum, $params, $url, $addlog); } public function sendanay($m, $a,$can=array(), $runtime=0) { $runurl = m('base')->getasynurl($m, $a,$can, 1); $barr = $this->sendanayurl($runurl, $runtime); return $barr; } public function sendanayurl($runurl, $runtime=0) { if(isempt($runurl))return returnerror('寮傛璋冪敤鍦板潃涓嶈兘涓虹┖'); $para = array( 'runurl' => $this->rock->jm->base64encode($runurl), 'runtime' => $runtime, ); $barr = $this->postdata('anay','send', $para); if(!$barr['success'])m('log')->addlogs('璋冪敤瀹樼綉寮傛', $barr['msg'],2); return $barr; } public function getvercode($tomobile, $device, $tplnum='', $qiannum='') { if(isempt($tomobile))return returnerror('鎺ユ敹鎵嬫満鍙蜂笉鑳戒负绌'); if($tplnum=='')$tplnum = m('option')->getval('sms_yanzm'); if(isempt($tplnum))$tplnum = 'defyzm'; $otme = 0; $lorsr = m('log')->getone("`type`='鑾峰彇楠岃瘉鐮' and (`optname`='$tomobile' or `device`='$device')",'`optdt`','id desc'); if($lorsr)$otme = strtotime($lorsr['optdt']); $jgtims = 60; $jgtime = time()-$otme; if($otme>0 && $jgtime<$jgtims)return returnerror('鑾峰彇澶绻,璇'.($jgtims-$jgtime).'绉掑悗鍦ㄨ瘯'); $code = '5'.rand(10000,99999); $params['code'] = $code; $kaifbo = (getconfig('systype')=='dev' || getconfig('systype')=='demo'); if(!$kaifbo){ $barr = $this->send($tomobile, $qiannum, $tplnum, $params); }else{ $barr = returnsuccess('ok'); } if($barr['success']){ m('log')->addlog('鑾峰彇楠岃瘉鐮', '鑾峰彇楠岃瘉鐮佷负锛'.$code.'', array( 'device' => $device, 'optname' => $tomobile, 'optid' => $code )); $barr['data'] = ''; if($kaifbo)$barr['data'] = $code; } return $barr; } public function checkcode($tomobile, $code, $device) { if(isempt($tomobile))return returnerror('鎵嬫満鍙蜂笉鑳戒负绌'); if(isempt($code))return returnerror('楠岃瘉鐮佷笉鑳戒负绌'); $youxiaq= 5*60; $optdt = date('Y-m-d H:i:s', time()-$youxiaq); $ors = m('log')->getone("`type`='鑾峰彇楠岃瘉鐮' and `optname`='$tomobile' and `device`='$device' and `optdt`>'$optdt'",'`optid`,`optdt`,`id`','`id` desc'); if(!$ors)return returnerror('璇峰厛鑾峰彇楠岃瘉鐮'); if($code!=$ors['optid'])return returnerror('楠岃瘉鐮侀敊璇'); m('log')->update('`optid`=0', $ors['id']); return returnsuccess('ok'); } public function starttask() { $turl = getconfig('anayurl', URL); $url = ''.$turl.'task.php?m=runt&a=task'; $barr = $this->postdata('anay','starttask', array( 'runurl' => $this->rock->jm->base64encode($url) )); return $barr; } public function stoptask() { $barr = $this->getdata('anay','stoptask'); return $barr; } public function officesend($fileid, $lx=0) { $yulx = ',doc,docx,xls,xlsx,ppt,pptx,'; $frs = m('file')->getone($fileid); if(!$frs)return returnerror('鏂囦欢涓嶅瓨鍦1'); $filepath = $frs['filepath']; $fileext = $frs['fileext']; $filepathout= arrvalue($frs, 'filepathout'); $filesize = floatval($frs['filesize']); if(!contain($yulx,','.$fileext.','))return returnerror('涓嶆槸鏂囨。绫诲瀷'); if(isempt($filepath))return returnerror('鏂囦欢璺緞鏄┖鐨'); if(substr($filepath, 0,4)!='http' && isempt($filepathout) && !file_exists($filepath))return returnerror('鏂囦欢涓嶅瓨鍦2'); $pdfpath = $frs['pdfpath']; if(!isempt($pdfpath) && file_exists($pdfpath))return returnerror('宸茶浆杩囦簡'); $localpath = $frs['filepath']; if(substr($filepath, 0,4)!='http' && !isempt($filepathout) && !file_exists($filepath))return returnerror('鏂囦欢鍚屾鍒板叾浠栧钩鍙版棤娉曡浆鍖栭瑙'); if(substr($filepath, 0,4)=='http'){ $localpath = ''.UPDIR.'/'.date('Y-m').'/'.date('d_His').''.rand(10,99).'_temp.'.$fileext.''; $this->rock->createtxt($localpath, @file_get_contents($filepath)); if(!file_exists($localpath))return returnerror('鏃犳硶涓嬭浇杩滅▼鏂囦欢锛屼笉鑳借浆鎹'); $filesize = filesize($localpath); if($filesize==0)return returnerror('杩滅▼鏂囦欢宸叉崯鍧'); } $officeyl = getconfig('officeyl'); $cache = c('cache'); $zhkey = 'filetopdf'.$fileid.''; $zhval = $cache->get($zhkey); if(isempt($zhval)){ if($officeyl=='1'){ $barr = $this->postdata('office','recedata', array( 'data' => $this->rock->jm->base64encode(file_get_contents($localpath)), 'fileid' => $fileid, 'fileext' => $fileext, 'filesize' => $filesize, 'filesizecn'=> $frs['filesizecn'], 'backurl' => $this->rock->jm->base64encode(m('base')->getasynurl('asynrun','gwpdf',array( 'fileid' => $fileid ),2)) )); }else if($officeyl=='4'){ $barr = c('libreoffice')->filetopdf($fileid); }else{ if(!contain(PHP_OS,'WIN'))return returnerror('鍙兘鍦╳indows鐨勬湇鍔″櫒涓嬭浆鍖'); $bo = c('socket')->topdf($localpath, $fileid, $fileext); if(!$bo || is_string($bo))return returnerror(''.$bo.'锛'.c('xinhu')->helpstr('topdf').''); $barr = returnsuccess(); } }else{ $barr = returnsuccess(); } if($barr['success']){ $times = ceil($filesize/(20*1024))+10; if($times<10)$times = 10; $cache->set($zhkey,'true', $times+5); if(!is_array($barr['data']))$barr['data'] = array(); $barr['data']['times'] = $times; $barr['data']['localpath'] = $this->rock->jm->base64encode($localpath); } return $barr; } public function officestatus($fileid) { if(getconfig('officeyl')=='1'){ $barr = $this->getdata('office','getstatus', array( 'fileid' => $fileid )); }else{ $frs = m('file')->getone($fileid); if(!$frs)return returnerror('鏂囦欢涓嶅瓨鍦1'); $filepath = $frs['filepath']; $localpath = $this->rock->get('localpath'); if(!isempt($localpath)){ $filepath = $this->rock->jm->base64decode($localpath); } $pdfpath = str_replace('.'.$frs['fileext'].'', '.pdf', $filepath); $status = 0; if(file_exists($pdfpath)){ $status = 1; } if($status==1){ m('file')->update(array( 'pdfpath' => $pdfpath ), $fileid); } $barr = returnsuccess(array('status'=>$status,'ftype'=>'0')); } return $barr; } public function officedown($fileid) { $barr = $this->getdata('office','down', array( 'fileid' => $fileid )); if($barr['success']){ $data = $barr['data']; $pdfpath = $data['pdfpath']; $this->rock->createtxt($pdfpath, $this->rock->jm->base64decode($data['data'])); m('file')->update(array( 'pdfpath' => $pdfpath, ),$fileid); $barr = returnsuccess(); } return $barr; } public function getjiari() { $barr = $this->getdata('base','getjiari'); return $barr; } public function authercheck($key, $ym) { if(isempt($key))return returnerror('瀵嗛挜鏍间笉鑳戒负绌'); if(isempt($ym))return returnerror('鍩熷悕涓嶈兘涓虹┖'); $barr = $this->getdata('auther','check', array( 'autherkey' => $key, 'yuming' => $ym, 'randkey' => getconfig('randkey') )); if($barr['success']){ $da = $barr['data']; $this->saveauther($da, $key); return returnsuccess(); }else{ return $barr; } } private function saveauther($da, $key) { $this->db->query("alter table `[Q]option` MODIFY column `value` varchar(2000) DEFAULT NULL COMMENT '瀵瑰簲鍊';", false); $db = m('option'); $db->setval('auther_enddt@-101', $da['enddt']); $db->setval('auther_yuming@-101', $da['yuming']); $db->setval('auther_authkey@-101', $da['authkey']); $db->setval('auther_aukey@-101', $key); m('chargems')->update("`updatedt`='2020-02-02 02:02:02'","`type`=0 and `mid` in(1,22)"); } public function autherfile($da, $key, $ym) { $da['enddt'] = $this->rock->jm->encrypt($this->rock->jm->strunlook($da['enddt'],$key)); $yuming = $this->rock->jm->strunlook($da['yuming'],$key); $xhkey1 = $this->rock->jm->strunlook($da['xhkey'],$key); $da['yuming'] = $this->rock->jm->encrypt($yuming); $da['authkey'] = $this->rock->jm->base64encode($this->rock->jm->strunlook($da['authkey'],$key)); $xhkey = getconfig('xinhukey'); if(isempt($xhkey))return returnerror($this->rock->jm->base64decode('6K!35YWI5Yiw57O757uf6K6!572u5LiL6K6!572u5L!h5ZG85a6Y572Ra2V5')); if($xhkey1!=$xhkey)return returnerror($this->rock->jm->base64decode('5L!h5ZG85a6Y572Ra2V55LiN5LiA6Ie077yM6K!36YeN5paw6K6!572u')); if(!contain(','.$yuming.',',','.$ym.','))return returnerror(''.$ym.'涓嶅湪绛炬巿鍩熷悕閲'); $this->saveauther($da, $key); return returnsuccess(); } public function autherdel() { $aukey = m('option')->getval('auther_aukey'); m('option')->update('`value`=null','pid=-101'); if(!isempt($aukey)){ $barr = $this->getdata('auther','delkey', array( 'autherkey' => $aukey, 'randkey' => getconfig('randkey') )); return $barr; } return returnsuccess(); } }
\ No newline at end of file
+*/ class xinhuapiChajian extends Chajian{ private $updatekey = ''; private $updatekeys = ''; private $systemnum = ''; private $smsapikey = ''; public $qiannum,$sendtype; protected function initChajian() { if(getconfig('systype')=='dev'){ $this->updatekeys = 'aHR0cDovLzEyNy4wLjAuMS9hcHAvcm9ja2FwaS8:'; }else{ $this->updatekeys = 'aHR0cDovL2FwaS5yb2Nrb2EuY29tLw::'; } $this->updatekey =$this->rock->jm->base64decode($this->updatekeys); $aurl = getconfig('xinhuapi_url'); if($aurl)$this->updatekey = $aurl; $this->getsysnum(); } private function getsysnum() { $dbs = m('option'); $this->systemnum = $dbs->getval('systemnum'); $this->smsapikey = $dbs->getval('sms_apikey'); $this->qiannum = $dbs->getval('sms_qmnum'); $this->sendtype = $dbs->getval('sms_dirtype'); if(isempt($this->qiannum))$this->qiannum = ''; if(isempt($this->systemnum)){ $rnd = md5(str_shuffle('abcedfghijk').rand(1000,9999)); $dbs->setval('systemnum', $rnd); $this->systemnum = $rnd; } return $this->systemnum; } public function geturlstr($mod, $act, $can=array()) { $url = $this->updatekey; $url.= '?m='.$mod.'&a='.$act.''; $url.= '&host='.$this->rock->jm->base64encode(HOST).'&version='.VERSION.'&randtime='.time().'&ip='.$this->rock->ip.'&xinhukey='.getconfig('xinhukey').'&sysnum='.$this->systemnum.''; if(!isempt($this->smsapikey))$url.='&smsapikey='.$this->smsapikey.''; $url.= '&authorkey='.getconfig('authorkey').''; foreach($can as $k=>$v)$url.='&'.$k.'='.$v.''; return $url; } public function getdata($mod, $act, $can=array()) { $url = $this->geturlstr($mod, $act, $can); $cont = c('curl')->getcurl($url); if(!isempt($cont) && contain($cont, 'success')){ $data = json_decode($cont, true); }else{ $data = returnerror('鏃犳硶璁块棶鍒板畼缃慉PI鐨,'.$cont.''); } return $data; } public function postdata($mod, $act, $can=array()) { $url = $this->geturlstr($mod, $act); $cont = c('curl')->postcurl($url, $can); if(!isempt($cont) && contain($cont, 'success')){ $data = json_decode($cont, true); }else{ $data = returnerror('鏃犳硶璁块棶鍒板畼缃慉PI鐨,'.$cont.''); } return $data; } public function urlsmall($url) { if(isempt($url))return ''; $barr = $this->getdata('sms','urlsmall', array( 'url' => $this->rock->jm->base64encode($url) )); if(!$barr['success'])return $url; return $barr['data']['url']; } public function send($tomobile,$qiannum, $tplnum, $params=array(), $url='', $addlog=true) { if(isempt($qiannum))$qiannum = $this->qiannum; if(!isempt($this->sendtype)){ if(!isset($params['url']) && $url)$params['url'] = $url; $barr = c($this->sendtype)->send($tomobile, $qiannum, $tplnum, $params); }else{ $para['sys_tomobile'] = $tomobile; $para['sys_tplnum'] = $tplnum; $para['sys_qiannum'] = $qiannum; $para['sys_url'] = $this->rock->jm->base64encode($url); foreach($params as $k=>$v)$para['can_'.$k.''] = $v; $barr = $this->postdata('sms','send', $para); } if(!$barr['success'] && $addlog)m('log')->addlogs('鐭俊', $barr['msg'],2); return $barr; } public function sendsms($receid, $qiannum, $tplnum, $params=array(), $url='', $addlog=true, $isyb=true) { if(isempt($receid))return returnerror('娌℃湁鎺ユ敹浜'); $receda = explode(',', $receid); if(c('check')->iscnmobile($receda[0])){ $tomobile = $receid; }else{ $tomobile = m('admin')->getjoinfields($receid, 'mobile'); } if(isempt($tomobile))return returnerror('鎺ユ敹浜篬'.$receid.']鍙兘娌¤缃墜鏈哄彿'); $toama = explode(',', $tomobile); $toarr = array(); foreach($toama as $tostr)if(!contain($tostr,'000000'))$toarr[]=$tostr; if(!$toarr)return returnerror('鎺ユ敹浜虹殑鎵嬫満鍙蜂笉瀹屾暣'); $tomobile = join(',', $toarr); if(isempt($qiannum))$qiannum = $this->qiannum; if(getconfig('asynsend') && $isyb){ $ybbo = m('reim')->asynurl('asynrun','sendsms', array( 'tomobile' => $tomobile, 'qiannum' => $qiannum, 'tplnum' => $tplnum, 'url' => $this->rock->jm->base64encode($url), 'params' => $this->rock->jm->base64encode(json_encode($params)), )); if($ybbo)return returnsuccess('寮傛鍙戦'); } return $this->send($tomobile, $qiannum, $tplnum, $params, $url, $addlog); } public function sendanay($m, $a,$can=array(), $runtime=0) { $runurl = m('base')->getasynurl($m, $a,$can, 1); $barr = $this->sendanayurl($runurl, $runtime); return $barr; } public function sendanayurl($runurl, $runtime=0) { if(isempt($runurl))return returnerror('寮傛璋冪敤鍦板潃涓嶈兘涓虹┖'); $para = array( 'runurl' => $this->rock->jm->base64encode($runurl), 'runtime' => $runtime, ); $barr = $this->postdata('anay','send', $para); if(!$barr['success'])m('log')->addlogs('璋冪敤瀹樼綉寮傛', $barr['msg'],2); return $barr; } public function getvercode($tomobile, $device, $tplnum='', $qiannum='') { if(isempt($tomobile))return returnerror('鎺ユ敹鎵嬫満鍙蜂笉鑳戒负绌'); if($tplnum=='')$tplnum = m('option')->getval('sms_yanzm'); if(isempt($tplnum))$tplnum = 'defyzm'; $otme = 0; $lorsr = m('log')->getone("`type`='鑾峰彇楠岃瘉鐮' and (`optname`='$tomobile' or `device`='$device')",'`optdt`','id desc'); if($lorsr)$otme = strtotime($lorsr['optdt']); $jgtims = 60; $jgtime = time()-$otme; if($otme>0 && $jgtime<$jgtims)return returnerror('鑾峰彇澶绻,璇'.($jgtims-$jgtime).'绉掑悗鍦ㄨ瘯'); $code = '5'.rand(10000,99999); $params['code'] = $code; $kaifbo = (getconfig('systype')=='dev' || getconfig('systype')=='demo'); if(!$kaifbo){ $barr = $this->send($tomobile, $qiannum, $tplnum, $params); }else{ $barr = returnsuccess('ok'); } if($barr['success']){ m('log')->addlog('鑾峰彇楠岃瘉鐮', '鑾峰彇楠岃瘉鐮佷负锛'.$code.'', array( 'device' => $device, 'optname' => $tomobile, 'optid' => $code )); $barr['data'] = ''; if($kaifbo)$barr['data'] = $code; } return $barr; } public function checkcode($tomobile, $code, $device) { if(isempt($tomobile))return returnerror('鎵嬫満鍙蜂笉鑳戒负绌'); if(isempt($code))return returnerror('楠岃瘉鐮佷笉鑳戒负绌'); $youxiaq= 5*60; $optdt = date('Y-m-d H:i:s', time()-$youxiaq); $ors = m('log')->getone("`type`='鑾峰彇楠岃瘉鐮' and `optname`='$tomobile' and `device`='$device' and `optdt`>'$optdt'",'`optid`,`optdt`,`id`','`id` desc'); if(!$ors)return returnerror('璇峰厛鑾峰彇楠岃瘉鐮'); if($code!=$ors['optid'])return returnerror('楠岃瘉鐮侀敊璇'); m('log')->update('`optid`=0', $ors['id']); return returnsuccess('ok'); } public function starttask() { $turl = getconfig('anayurl', URL); $url = ''.$turl.'task.php?m=runt&a=task'; $barr = $this->postdata('anay','starttask', array( 'runurl' => $this->rock->jm->base64encode($url) )); return $barr; } public function stoptask() { $barr = $this->getdata('anay','stoptask'); return $barr; } public function officesend($fileid, $lx=0) { $yulx = ',doc,docx,xls,xlsx,ppt,pptx,'; $frs = m('file')->getone($fileid); if(!$frs)return returnerror('鏂囦欢涓嶅瓨鍦1'); $filepath = $frs['filepath']; $fileext = $frs['fileext']; $filepathout= arrvalue($frs, 'filepathout'); $filesize = floatval($frs['filesize']); if(!contain($yulx,','.$fileext.','))return returnerror('涓嶆槸鏂囨。绫诲瀷'); if(isempt($filepath))return returnerror('鏂囦欢璺緞鏄┖鐨'); if(substr($filepath, 0,4)!='http' && isempt($filepathout) && !file_exists($filepath))return returnerror('鏂囦欢涓嶅瓨鍦2'); $pdfpath = $frs['pdfpath']; if(!isempt($pdfpath) && file_exists($pdfpath))return returnerror('宸茶浆杩囦簡'); $localpath = $frs['filepath']; if(substr($filepath, 0,4)!='http' && !isempt($filepathout) && !file_exists($filepath))return returnerror('鏂囦欢鍚屾鍒板叾浠栧钩鍙版棤娉曡浆鍖栭瑙'); if(substr($filepath, 0,4)=='http'){ $localpath = ''.UPDIR.'/'.date('Y-m').'/'.date('d_His').''.rand(10,99).'_temp.'.$fileext.''; $this->rock->createtxt($localpath, @file_get_contents($filepath)); if(!file_exists($localpath))return returnerror('鏃犳硶涓嬭浇杩滅▼鏂囦欢锛屼笉鑳借浆鎹'); $filesize = filesize($localpath); if($filesize==0)return returnerror('杩滅▼鏂囦欢宸叉崯鍧'); } $officeyl = getconfig('officeyl'); $cache = c('cache'); $zhkey = 'filetopdf'.$fileid.''; $zhval = $cache->get($zhkey); if(isempt($zhval)){ if($officeyl=='1'){ $barr = $this->postdata('office','recedata', array( 'data' => $this->rock->jm->base64encode(file_get_contents($localpath)), 'fileid' => $fileid, 'fileext' => $fileext, 'filesize' => $filesize, 'filesizecn'=> $frs['filesizecn'], 'backurl' => $this->rock->jm->base64encode(m('base')->getasynurl('asynrun','gwpdf',array( 'fileid' => $fileid ),2)) )); }else if($officeyl=='4'){ $barr = c('libreoffice')->filetopdf($fileid); }else{ if(!contain(PHP_OS,'WIN'))return returnerror('鍙兘鍦╳indows鐨勬湇鍔″櫒涓嬭浆鍖'); $bo = c('socket')->topdf($localpath, $fileid, $fileext); if(!$bo || is_string($bo))return returnerror(''.$bo.'锛'.c('xinhu')->helpstr('topdf').''); $barr = returnsuccess(); } }else{ $barr = returnsuccess(); } if($barr['success']){ $times = ceil($filesize/(20*1024))+10; if($times<10)$times = 10; $cache->set($zhkey,'true', $times+5); if(!is_array($barr['data']))$barr['data'] = array(); $barr['data']['times'] = $times; $barr['data']['localpath'] = $this->rock->jm->base64encode($localpath); } return $barr; } public function officestatus($fileid) { if(getconfig('officeyl')=='1'){ $barr = $this->getdata('office','getstatus', array( 'fileid' => $fileid )); }else{ $frs = m('file')->getone($fileid); if(!$frs)return returnerror('鏂囦欢涓嶅瓨鍦1'); $filepath = $frs['filepath']; $localpath = $this->rock->get('localpath'); if(!isempt($localpath)){ $filepath = $this->rock->jm->base64decode($localpath); } $pdfpath = str_replace('.'.$frs['fileext'].'', '.pdf', $filepath); $status = 0; if(file_exists($pdfpath)){ $status = 1; } if($status==1){ m('file')->update(array( 'pdfpath' => $pdfpath ), $fileid); } $barr = returnsuccess(array('status'=>$status,'ftype'=>'0')); } return $barr; } public function officedown($fileid) { $barr = $this->getdata('office','down', array( 'fileid' => $fileid )); if($barr['success']){ $data = $barr['data']; $pdfpath = $data['pdfpath']; $this->rock->createtxt($pdfpath, $this->rock->jm->base64decode($data['data'])); m('file')->update(array( 'pdfpath' => $pdfpath, ),$fileid); $barr = returnsuccess(); } return $barr; } public function getjiari() { $barr = $this->getdata('base','getjiari'); return $barr; } public function authercheck($key, $ym) { if(isempt($key))return returnerror('瀵嗛挜鏍间笉鑳戒负绌'); if(isempt($ym))return returnerror('鍩熷悕涓嶈兘涓虹┖'); $barr = $this->getdata('auther','check', array( 'autherkey' => $key, 'yuming' => $ym, 'randkey' => getconfig('randkey') )); if($barr['success']){ $da = $barr['data']; $this->saveauther($da, $key); return returnsuccess(); }else{ return $barr; } } private function saveauther($da, $key) { $this->db->query("alter table `[Q]option` MODIFY column `value` varchar(2000) DEFAULT NULL COMMENT '瀵瑰簲鍊';", false); $db = m('option'); $db->setval('auther_enddt@-101', $da['enddt']); $db->setval('auther_yuming@-101', $da['yuming']); $db->setval('auther_authkey@-101', $da['authkey']); $db->setval('auther_aukey@-101', $key); m('chargems')->update("`updatedt`='2020-02-02 02:02:02'","`type`=0 and `mid` in(1,22)"); } public function autherfile($da, $key, $ym) { $da['enddt'] = $this->rock->jm->encrypt($this->rock->jm->strunlook($da['enddt'],$key)); $yuming = $this->rock->jm->strunlook($da['yuming'],$key); $xhkey1 = $this->rock->jm->strunlook($da['xhkey'],$key); $da['yuming'] = $this->rock->jm->encrypt($yuming); $da['authkey'] = $this->rock->jm->base64encode($this->rock->jm->strunlook($da['authkey'],$key)); $xhkey = getconfig('xinhukey'); if(isempt($xhkey))return returnerror($this->rock->jm->base64decode('6K!35YWI5Yiw57O757uf6K6!572u5LiL6K6!572u5L!h5ZG85a6Y572Ra2V5')); if($xhkey1!=$xhkey)return returnerror($this->rock->jm->base64decode('5L!h5ZG85a6Y572Ra2V55LiN5LiA6Ie077yM6K!36YeN5paw6K6!572u')); if(!contain(','.$yuming.',',','.$ym.','))return returnerror(''.$ym.'涓嶅湪绛炬巿鍩熷悕閲'); $this->saveauther($da, $key); return returnsuccess(); } public function autherdel() { $aukey = m('option')->getval('auther_aukey'); m('option')->update('`value`=null','pid=-101'); if(!isempt($aukey)){ $barr = $this->getdata('auther','delkey', array( 'autherkey' => $aukey, 'randkey' => getconfig('randkey') )); return $barr; } return returnsuccess(); } }
\ No newline at end of file
diff --git a/js/js.js b/js/js.js
index da66e49..f1e3061 100644
--- a/js/js.js
+++ b/js/js.js
@@ -409,6 +409,7 @@ js.fileopt=function(id,lx){
var da = ret.data;
var ext= da.fileext;
var url= da.url;
+ if(da.type==2)js.importplugin('rockoffice',da.editwsinfo);
if(ismobile==1){
if(da.type==0 && !da.isview && appobj1('openfile', id))return; //涓嶈兘棰勮灏辩敤app鎵撳紑
if(da.type==0 && !da.isview && js.fileoptWin(id))return; //涓嶈兘棰勮灏辩敤app鎵撳紑
@@ -1065,12 +1066,12 @@ js.selectdate=function(o1,inp,lx){
$(o1).rockdatepicker({'view':lx,'initshow':true,'inputid':inp});
return false;
}
-js.importjs=function(url,fun){
+js.importjs=function(url,fun,dzc){
var sid = jm.base64encode(url);
if(!fun)fun=function(){};
if(get(sid)){fun();return;}
- var scr = document.createElement('script');
- scr.src = url;
+ var scr = document.createElement('script');if(!dzc)dzc='';
+ scr.src = url+dzc;
scr.id = sid;
if(isIE){
scr.onreadystatechange = function(){
@@ -1082,7 +1083,12 @@ js.importjs=function(url,fun){
document.getElementsByTagName('head')[0].appendChild(scr);
return false;
}
-
+js.importplugin = function(na, cans){
+ var dz = 'mode/plugin/jquery-'+na+'.js';
+ this.importjs(dz, function(){
+ js['plugin_'+na+''](cans);
+ },'?'+this.getrand()+'');
+}
js.importcss = function(url){
var sid = jm.base64encode(url);
if(get(sid))return;
diff --git a/mode/bootstrapplugin/jquery-bootstable.js b/mode/bootstrapplugin/jquery-bootstable.js
index 3d09c85..b1cc608 100644
--- a/mode/bootstrapplugin/jquery-bootstable.js
+++ b/mode/bootstrapplugin/jquery-bootstable.js
@@ -190,7 +190,9 @@
if(can.checked){
dis = '';
if(ov.checkdisabled)dis='disabled';
- s+='
| ';
+ s+='';
+ if(ov.id)s+='';
+ s+=' | ';
}
for(i=0;i';
}else{
s1 = val;
@@ -212,6 +215,7 @@
s3 = a[i].renderer(val, ov, j);
if(!isempt(s3))s1=s3;
}
+
s2 = '';
if(i == 0 && can.tree){
st = ov.stotal;
@@ -342,7 +346,7 @@
w = o1.clientWidth,
h = o1.clientHeight,
at = '',
- v = a[fields];
+ v = a[fields];if(!a.id)return;
$('#edittable_'+rand+'').remove();
if(b.editorbefore && !b.editorbefore(a))return;
if(!b.textmsg)b.textmsg='';
@@ -538,7 +542,7 @@
o1 = $(o2);
cell= parseFloat(o1.attr('cell'));
farr= can.columns[cell];
- if(farr.editor)return;//鍗曞厓鏍兼槸缂栬緫灏遍鍑
+ if(farr && farr.editor)return;//鍗曞厓鏍兼槸缂栬緫灏遍鍑
}
can.itemdblclick(this.changedata, oi, e);
};
diff --git a/mode/plugin/jquery-rockoffice.js b/mode/plugin/jquery-rockoffice.js
new file mode 100644
index 0000000..edc6edb
--- /dev/null
+++ b/mode/plugin/jquery-rockoffice.js
@@ -0,0 +1,49 @@
+/**
+* 鍦ㄧ嚎缂栬緫鑾峰彇鍐呭鐨
+*/
+
+js.plugin_rockoffice = function(conf){
+ if(conf){
+ this.plugin_rockoffice_conf = conf;
+ this.plugin_rockofficeopen();
+ }
+}
+
+
+js.plugin_rockofficeopen = function(){
+ clearInterval(js.plugin_rockofficetime);
+ if(js.plugin_rockofficebool)return;
+ var conf = this.plugin_rockoffice_conf;
+ if(!conf)return;
+ var ws = new WebSocket(jm.base64decode(conf.wsurl));
+ ws.onopen = function(){
+ this.send('{"from":"'+conf.recid+'","adminid":"'+conf.adminid+'","atype":"connect","sendname":"'+conf.adminname+'"}');
+ js.plugin_rockofficebool = true;
+ }
+ ws.onclose = function(e){
+ js.plugin_rockofficebool = false;
+ js.plugin_rockofficetime = setTimeout('js.plugin_rockofficeopen()',3000);
+ };
+ ws.onerror = function(e){
+ js.plugin_rockofficebool = false;
+ //setTimeout('js.plugin_rockofficeopen()',3000);
+ };
+ ws.onmessage = function(evt){
+ js.plugin_rockofficebool = true;
+ var ds = JSON.parse(evt.data);
+ js.plugin_rockofficemessage(ds);
+ };
+ js.plugin_rockofficews = ws;
+}
+
+js.plugin_rockofficemessage = function(d){
+ var xxtype = d.xxtype;
+ if(d.waitmsg)js.msg('wait',jm.base64decode(d.waitmsg));
+ if(d.msg)js.msg('success',jm.base64decode(d.msg));
+ if(d.xxtype=='glast'){
+ $.get('api.php?m=upload&a=editfileb&fileid='+d.fileid+'', function(s){
+ js.plugin_rockoffice_conf = '';
+ if(s)js.msg('success',s);
+ });
+ }
+}
\ No newline at end of file
diff --git a/webmain/css/rock.css b/webmain/css/rock.css
index ff43e22..7370d79 100644
--- a/webmain/css/rock.css
+++ b/webmain/css/rock.css
@@ -241,4 +241,8 @@ textarea.form-control{overflow:auto;padding-top:5px;padding-bottom:5px}
.list-itemv:hover{color:var(--main-color);cursor:pointer;background-color:rgba(var(--rgb-r), var(--rgb-g), var(--rgb-b), 0.1)}
.editortools div{width:26px;height:26px;overflow:hidden;margin-left:8px;line-height:26px;border-radius:5px;cursor:pointer;}
-.editortools div:hover{background-color:rgba(0,0,0,0.1);}
\ No newline at end of file
+.editortools div:hover{background-color:rgba(0,0,0,0.1);}
+
+.label{border-radius:5px;padding:2px 3px}
+.label-success{background:green;color:white}
+.label-default{background:#aaaaaa;color:white}
\ No newline at end of file
diff --git a/webmain/flow/input/inputAction.php b/webmain/flow/input/inputAction.php
index d25d560..0ae788f 100644
--- a/webmain/flow/input/inputAction.php
+++ b/webmain/flow/input/inputAction.php
@@ -897,21 +897,25 @@ class inputAction extends Action
foreach($this->flow->fieldsarra as $k2=>$rs2){
if($rs2['fieldstype']=='uploadimg')$farrl[$rs2['fields']]=$rs2['fieldstype'];
}
-
- if($rows)foreach($rows as $k1=>$rs1){
- foreach($farrl as $fid=>$flx){
- if(isset($rs1[$fid])){
- $val = $rs1[$fid];
- if($flx=='uploadimg'){
- $val = $this->rock->gethttppath($val);
- $rows[$k1][$fid] = $val;
- //if($this->flow->modeid>92)$val='
';
+ $hjfields = arrvalue($this->flow->moders, 'hjfields');
+ if($rows){
+ if($farrl)foreach($rows as $k1=>$rs1){
+ foreach($farrl as $fid=>$flx){
+ if(isset($rs1[$fid])){
+ $val = $rs1[$fid];
+ if($flx=='uploadimg'){
+ $val = $this->rock->gethttppath($val);
+ $rows[$k1][$fid] = $val;
+ //if($this->flow->modeid>92)$val='
';
+ }
}
}
}
+ if(!isempt($hjfields))$rows[] = m('base')->hjfieldsRows($rows, $hjfields);
}
$barr['modeid'] = $this->modeid;
$barr['loadci'] = $this->loadci;
+
$barr['rows'] = $rows;
$scarr = $this->storeafter($table, $rows, $barr);
if(is_array($scarr))foreach($scarr as $k=>$v)$barr[$k]=$v;
diff --git a/webmain/flow/input/mode_custfinaAction.php b/webmain/flow/input/mode_custfinaAction.php
index 74777fc..2e6ff29 100644
--- a/webmain/flow/input/mode_custfinaAction.php
+++ b/webmain/flow/input/mode_custfinaAction.php
@@ -1,6 +1,6 @@
flow->moders, 'hjfields');
+ if($rows && isempt($hjfields)){
foreach($rows as $k1=>$rs1){
$money+=floatval($rs1['money']);
}
diff --git a/webmain/flow/input/mode_custfinbAction.php b/webmain/flow/input/mode_custfinbAction.php
index 190c6fe..d6ee575 100644
--- a/webmain/flow/input/mode_custfinbAction.php
+++ b/webmain/flow/input/mode_custfinbAction.php
@@ -108,8 +108,9 @@ class mode_custfinbClassAction extends inputAction{
protected function storeafter($table, $rows)
{
- $money = 0;
- if($rows){
+ $money = 0;
+ $hjfields = arrvalue($this->flow->moders, 'hjfields');
+ if($rows && isempt($hjfields)){
foreach($rows as $k1=>$rs1){
$money+=floatval($rs1['money']);
}
diff --git a/webmain/flow/page/input_flowset.html b/webmain/flow/page/input_flowset.html
index 1810e84..419e658 100644
--- a/webmain/flow/page/input_flowset.html
+++ b/webmain/flow/page/input_flowset.html
@@ -1 +1 @@
-
鍩烘湰淇℃伅
| *^type^ | {type} | *^name^ | {name} |
| *^num^ | {num} | *^table^ | {table} |
| ^where^ | {where} | ^tables^ | {tables} |
| ^sort^ | {sort} | ^names^ | {names} |
| *^recename^ | {recename} |
| ^status^ | {status} | ^isscl^ | {isscl} |
娴佺▼
| *^isflow^ | {isflow} | ^sericnum^ | {sericnum} |
| *^isflowlx^ | {isflowlx} | ^isys^ | {isys} |
| ^isbxs^ | {isbxs} | *^iscs^ | {iscs} |
| ^zfeitime^ | {zfeitime} | ^filelx^ | {filelx} |
鎽樿璁剧疆
| ^summary^ | {summary} |
| ^summarx^ | {summarx} |
| ^sortdir^ | {sortdir} | | |
鎻愰啋璁剧疆
| ^pctx^ | {pctx} | ^emtx^ | {emtx} |
| ^mctx^ | {mctx} | ^wxtx^ | {wxtx} |
| ^ddtx^ | {ddtx} | ^istxset^ | {istxset} |
璇︽儏鏄剧ず
| ^isgbjl^ | {isgbjl} | ^isgbcy^ | {isgbcy} |
| ^ispl^ | {ispl} | | |
鍏朵粬
| ^islu^ | {islu} | ^isup^ | {isup} |
| ^statusstr^ | {statusstr} |
| ^ishz^ | {ishz} | ^lbztxs^ | {lbztxs} |
\ No newline at end of file
+
鍩烘湰淇℃伅
| *^type^ | {type} | *^name^ | {name} |
| *^num^ | {num} | *^table^ | {table} |
| ^where^ | {where} | ^tables^ | {tables} |
| ^sort^ | {sort} | ^names^ | {names} |
| *^recename^ | {recename} |
| ^status^ | {status} | ^isscl^ | {isscl} |
娴佺▼
| *^isflow^ | {isflow} | ^sericnum^ | {sericnum} |
| *^isflowlx^ | {isflowlx} | ^isys^ | {isys} |
| ^isbxs^ | {isbxs} | *^iscs^ | {iscs} |
| ^zfeitime^ | {zfeitime} | ^filelx^ | {filelx} |
| ^jwcllx^ | {jwcllx} | | |
鎽樿璁剧疆
| ^summary^ | {summary} |
| ^summarx^ | {summarx} |
| ^sortdir^ | {sortdir} | | |
鎻愰啋璁剧疆
| ^pctx^ | {pctx} | ^emtx^ | {emtx} |
| ^mctx^ | {mctx} | ^wxtx^ | {wxtx} |
| ^ddtx^ | {ddtx} | ^istxset^ | {istxset} |
璇︽儏鏄剧ず
| ^isgbjl^ | {isgbjl} | ^isgbcy^ | {isgbcy} |
| ^ispl^ | {ispl} | ^hjfields^ | {hjfields} |
鍏朵粬
| ^islu^ | {islu} | ^isup^ | {isup} |
| ^statusstr^ | {statusstr} |
| ^ishz^ | {ishz} | ^lbztxs^ | {lbztxs} |
\ No newline at end of file
diff --git a/webmain/flow/page/rock_page_worcword.php b/webmain/flow/page/rock_page_worcword.php
index 076b254..d1577a7 100644
--- a/webmain/flow/page/rock_page_worcword.php
+++ b/webmain/flow/page/rock_page_worcword.php
@@ -54,7 +54,7 @@ $(document).ready(function(){
},{
text:'鍒涘缓鑰',dataIndex:'optname'
},{
- text:'鍒涘缓鏃堕棿',dataIndex:'optdt'
+ text:'鏃堕棿',dataIndex:'optdt'
},{
text:'鍏变韩缁',dataIndex:'shate'
},{
diff --git a/webmain/install/rockxinhu.sql b/webmain/install/rockxinhu.sql
index 5b01653..8c05d51 100644
--- a/webmain/install/rockxinhu.sql
+++ b/webmain/install/rockxinhu.sql
@@ -10,7 +10,7 @@ Target Server Type : MYSQL
Target Server Version : 50610
File Encoding : 65001
-Date: 2025-03-31 21:23:40
+Date: 2025-05-27 14:50:52
*/
SET FOREIGN_KEY_CHECKS=0;
@@ -71,11 +71,11 @@ CREATE TABLE `xinhu_admin` (
-- ----------------------------
-- Records of xinhu_admin
-- ----------------------------
-INSERT INTO `xinhu_admin` VALUES ('1', 'A001', 'admin', '绠$悊鍛', 'e10adc3949ba59abbe56e057f20f883e', '6356', '1', '1', '鐢', '0592-1234569', 'upload/face/1.jpg', '2', '寮鍙戦儴', null, null, null, '淇″懠寮鍙戝洟闃/寮鍙戦儴', '5', '纾愮煶', '椤圭洰涓荤', '1', '[1],[2]', '[5]', '1,3,4', '15800000023', '1', '2016-06-01', null, '2017-03-08 09:52:30', null, null, null, '0', 'guanliyuan', null, '1', '0', null, '1', null, null, '0', '1');
+INSERT INTO `xinhu_admin` VALUES ('1', 'A001', 'admin', '绠$悊鍛', 'e10adc3949ba59abbe56e057f20f883e', '6405', '1', '1', '鐢', '0592-1234569', 'upload/face/1.jpg', '2', '寮鍙戦儴', null, null, null, '淇″懠寮鍙戝洟闃/寮鍙戦儴', '5', '纾愮煶', '椤圭洰涓荤', '1', '[1],[2]', '[5]', '1,3,4', '15800000023', '1', '2016-06-01', null, '2017-03-08 09:52:30', null, null, null, '0', 'guanliyuan', null, '1', '0', null, '1', null, null, '0', '1');
INSERT INTO `xinhu_admin` VALUES ('2', null, 'diaochan', '璨傝潐', 'e10adc3949ba59abbe56e057f20f883e', '246', '1', '0', '濂', '0592-123456', null, '3', '璐㈠姟閮', null, null, null, '淇″懠寮鍙戝洟闃/璐㈠姟閮', '5', '纾愮煶', '璐㈠姟鎬荤洃', '1', '[1],[3]', '[5]', '1,3', '15800000007', '1', '2016-08-09', null, null, null, null, null, '0', 'diaochan', null, '2', '0', null, '1', null, null, '0', '1');
INSERT INTO `xinhu_admin` VALUES ('3', null, 'xiaoqiao', '灏忎箶', 'e10adc3949ba59abbe56e057f20f883e', '382', '1', '0', '濂', null, null, '3', '璐㈠姟閮', null, null, null, '淇″懠寮鍙戝洟闃/璐㈠姟閮', '2', '璨傝潐', '鍑虹撼', '1', '[1],[3]', '[5],[2]', '1', '15800000001', '1', '2017-05-02', null, '2016-08-30 20:34:23', null, null, null, '0', 'xiaoqiao', null, '2', '0', null, '1', null, null, '0', '1');
-INSERT INTO `xinhu_admin` VALUES ('4', null, 'daqiao', '澶т箶', 'e10adc3949ba59abbe56e057f20f883e', '584', '1', '0', '濂', null, null, '4', '琛屾斂浜轰簨閮', '3', '璐㈠姟閮', '浼氳', '淇″懠寮鍙戝洟闃/琛屾斂浜轰簨閮', '5', '纾愮煶', '浜轰簨涓荤', '1', '[1],[4],[3]', '[5]', '1,3', '15800000002', '1', '2017-07-01', null, '2016-10-20 22:27:51', null, null, null, '0', 'daqiao', null, '2', '0', null, '1', null, null, '0', '1');
-INSERT INTO `xinhu_admin` VALUES ('5', null, 'rock', '纾愮煶', 'e10adc3949ba59abbe56e057f20f883e', '516', '1', '0', '鐢', null, null, '5', '绠$悊灞', null, null, null, '淇″懠寮鍙戝洟闃/绠$悊灞', null, null, '钁d簨闀', '0', '[1],[5]', null, '2,3', '15800000003', '1', '2015-11-01', null, null, null, null, null, '0', 'panshi', null, '1', '0', null, '1', null, '1,2,3,4', '0', '1');
+INSERT INTO `xinhu_admin` VALUES ('4', null, 'daqiao', '澶т箶', 'e10adc3949ba59abbe56e057f20f883e', '585', '1', '0', '濂', null, null, '4', '琛屾斂浜轰簨閮', '3', '璐㈠姟閮', '浼氳', '淇″懠寮鍙戝洟闃/琛屾斂浜轰簨閮', '5', '纾愮煶', '浜轰簨涓荤', '1', '[1],[4],[3]', '[5]', '1,3', '15800000002', '1', '2017-07-01', null, '2016-10-20 22:27:51', null, null, null, '0', 'daqiao', null, '2', '0', null, '1', null, null, '0', '1');
+INSERT INTO `xinhu_admin` VALUES ('5', null, 'rock', '纾愮煶', 'e10adc3949ba59abbe56e057f20f883e', '518', '1', '0', '鐢', null, null, '5', '绠$悊灞', null, null, null, '淇″懠寮鍙戝洟闃/绠$悊灞', null, null, '钁d簨闀', '0', '[1],[5]', null, '2,3', '15800000003', '1', '2015-11-01', null, null, null, null, null, '0', 'panshi', null, '1', '0', null, '1', null, '1,2,3,4', '0', '1');
INSERT INTO `xinhu_admin` VALUES ('6', null, 'zhangfei', '寮犻', 'e10adc3949ba59abbe56e057f20f883e', '297', '1', '0', '鐢', null, null, '2', '寮鍙戦儴', null, null, null, '淇″懠寮鍙戝洟闃/寮鍙戦儴', '7', '璧靛瓙榫', '绋嬪簭鍛', '100', '[1],[2]', '[5],[1],[7]', '1', '15800000004', '1', '2017-07-01', null, '2016-11-01 20:15:52', null, null, null, '0', 'zhangfei', null, '1', '0', null, '1', null, null, '0', '0');
INSERT INTO `xinhu_admin` VALUES ('7', null, 'zhaozl', '璧靛瓙榫', 'e10adc3949ba59abbe56e057f20f883e', '416', '1', '0', '鐢', null, null, '2', '寮鍙戦儴', null, null, null, '淇″懠寮鍙戝洟闃/寮鍙戦儴', '1', '绠$悊鍛', '楂樼骇绋嬪簭鍛', '100', '[1],[2]', '[5],[1]', '1', '15800000005', '1', '2016-07-01', null, '2017-06-28 15:34:26', null, null, null, '0', 'zhaozilong', null, '1', '0', null, '1', null, null, '0', '0');
INSERT INTO `xinhu_admin` VALUES ('8', null, 'xinhu', '淇″懠瀹㈡湇', '6846860684f05029abccc09a53cd66f1', '500', '1', '1', '濂', null, null, '2', '寮鍙戦儴', null, null, null, '淇″懠寮鍙戝洟闃/寮鍙戦儴', '1', '绠$悊鍛', '瀹㈡湇', '200', '[1],[2]', '[5],[1]', '1,4', '15800000006', '1', '2018-12-12', null, null, null, 'rainrock829', null, '0', 'xinhukefu', null, '1', '0', null, '1', null, '2', '0', '1');
@@ -375,7 +375,7 @@ CREATE TABLE `xinhu_chargems` (
-- ----------------------------
-- Records of xinhu_chargems
-- ----------------------------
-INSERT INTO `xinhu_chargems` VALUES ('2', '1', '1', '2016-12-28 15:21:14', '2025-03-31 21:23:27', null, '0');
+INSERT INTO `xinhu_chargems` VALUES ('2', '1', '1', '2016-12-28 15:21:14', '2025-05-27 14:50:42', null, '0');
-- ----------------------------
-- Table structure for `xinhu_city`
@@ -821,10 +821,10 @@ CREATE TABLE `xinhu_demo` (
-- ----------------------------
-- Records of xinhu_demo
-- ----------------------------
-INSERT INTO `xinhu_demo` VALUES ('36', null, null, null, '2023-09-28', '1', '2024-12-11 10:36:14', '1', '绠$悊鍛', null, '0', '1', null, null, null, null, null, null, null, '0.00', null, null, 'QOM-001', '0', '1', '0', '0', null, null, null, null, null, '0');
-INSERT INTO `xinhu_demo` VALUES ('41', '12', null, null, null, '0', '2024-12-11 10:36:14', '1', '绠$悊鍛', null, '0', '1', null, null, null, null, null, null, '0', '0.00', null, null, null, '36', '1', '0', '0', null, null, null, null, null, '0');
-INSERT INTO `xinhu_demo` VALUES ('43', null, null, null, null, '0', '2024-12-11 10:36:14', '1', '绠$悊鍛', '455454', '0', '1', '鏁版嵁1', null, null, null, null, null, '0', '0.00', null, null, null, '36', '1', '0', '1', null, null, null, null, null, null);
-INSERT INTO `xinhu_demo` VALUES ('44', 'abc', null, null, null, '0', '2024-12-11 10:36:14', '1', '绠$悊鍛', null, '0', '1', null, null, null, null, null, null, '0', '0.00', null, null, null, '36', '1', '1', '0', null, null, null, null, null, '1');
+INSERT INTO `xinhu_demo` VALUES ('36', null, null, null, '2023-09-28', '1', '2025-05-19 08:57:52', '1', '绠$悊鍛', null, '0', '1', null, null, null, null, null, null, null, '0.00', null, null, 'QOM-001', '0', '1', '0', '0', null, null, null, null, null, '0');
+INSERT INTO `xinhu_demo` VALUES ('41', '12', null, null, null, '0', '2025-05-19 08:57:52', '1', '绠$悊鍛', null, '0', '1', null, null, null, null, null, null, '0', '0.00', null, null, null, '36', '1', '0', '0', null, null, null, null, null, '0');
+INSERT INTO `xinhu_demo` VALUES ('43', null, null, null, null, '0', '2025-05-19 08:57:52', '1', '绠$悊鍛', '455454', '0', '1', '鏁版嵁1', null, null, null, null, null, '0', '0.00', null, null, null, '36', '1', '0', '1', null, null, null, null, null, null);
+INSERT INTO `xinhu_demo` VALUES ('44', 'abc', null, null, null, '0', '2025-05-19 08:57:52', '1', '绠$悊鍛', null, '0', '1', null, null, null, null, null, null, '0', '0.00', null, null, null, '36', '1', '1', '0', null, null, null, null, null, '1');
-- ----------------------------
-- Table structure for `xinhu_dept`
@@ -1007,8 +1007,8 @@ CREATE TABLE `xinhu_file` (
-- ----------------------------
INSERT INTO `xinhu_file` VALUES ('1', null, '1', '绯荤粺logo.png', null, 'png', '2000', '2.36 KB', 'images/logo.png', 'images/logo.png', '1', '绠$悊鍛', '2016-11-23 22:26:21', '127.0.0.1', 'Chrome', 'word', '1', '17', '0', null, '0', null, '0', null, 'e8a64cad974a73c79b6b0f19fc00f6bc', null, null);
INSERT INTO `xinhu_file` VALUES ('2', null, '1', 'daiban.png', null, 'png', '2000', '2.21 KB', 'images/daiban.png', 'images/daiban.png', '1', '绠$悊鍛', '2016-11-23 22:26:26', '127.0.0.1', 'Chrome', 'word', '2', '24', '0', null, '0', null, '0', null, null, null, null);
-INSERT INTO `xinhu_file` VALUES ('3', '', '1', '淇″懠寮鍙戝洟闃熶粙缁.pptx', 'application/msword', 'pptx', '37837', '36.95 KB', 'http://www.rockoa.com/upload/upgfile/xinhuppt.pptx', '', '1', '绠$悊鍛', '2019-03-09 19:20:41', '127.0.0.1', 'Chrome', 'wordxie', '1', '19', '', '', '0', 'wordxie', '0', '', '4a79f31d1eeec342e97c50093eeda803', null, null);
-INSERT INTO `xinhu_file` VALUES ('4', '', '1', '淇″懠浣跨敤鏂囨。.docx', 'application/msword', 'docx', '10840', '10.59 KB', 'http://www.rockoa.com/upload/upgfile/xinhuuse.docx', '', '1', '绠$悊鍛', '2019-03-09 20:45:33', '127.0.0.1', 'Chrome', 'wordxie', '2', '7', '', '', '0', 'wordxie', '0', '', '044de19ffa3b1d74fe5db901c587c06f', null, null);
+INSERT INTO `xinhu_file` VALUES ('3', '', '1', '淇″懠寮鍙戝洟闃熶粙缁.pptx', 'application/msword', 'pptx', '37837', '36.95 KB', 'http://www.rockoa.com/upload/upgfile/xinhuppt.pptx', '', '1', '绠$悊鍛', '2019-03-09 19:20:41', '127.0.0.1', 'Chrome', 'wordxie', '1', '19', '', '', '0', 'wordxie', '0', '', '4a79f31d1eeec342e97c50093eeda803', '', null);
+INSERT INTO `xinhu_file` VALUES ('4', '', '1', '淇″懠浣跨敤鏂囨。.docx', 'application/msword', 'docx', '10840', '10.59 KB', 'http://www.rockoa.com/upload/upgfile/xinhuuse.docx', '', '1', '绠$悊鍛', '2019-03-09 20:45:33', '127.0.0.1', 'Chrome', 'wordxie', '2', '7', '', '', '0', 'wordxie', '0', '', '044de19ffa3b1d74fe5db901c587c06f', '', null);
-- ----------------------------
-- Table structure for `xinhu_files`
@@ -1193,7 +1193,7 @@ CREATE TABLE `xinhu_flow_bill` (
KEY `table` (`table`,`mid`) USING BTREE,
KEY `status` (`status`),
KEY `modeid` (`modeid`)
-) ENGINE=MyISAM AUTO_INCREMENT=404 DEFAULT CHARSET=utf8 COMMENT='娴佺▼鍗曟嵁';
+) ENGINE=MyISAM AUTO_INCREMENT=406 DEFAULT CHARSET=utf8 COMMENT='娴佺▼鍗曟嵁';
-- ----------------------------
-- Records of xinhu_flow_bill
@@ -1315,7 +1315,7 @@ INSERT INTO `xinhu_flow_bill` VALUES ('360', 'CO-20220921001', 'planm', '7', '13
INSERT INTO `xinhu_flow_bill` VALUES ('361', 'CP-20220921001', 'planm', '8', '136', '淇℃伅鏀堕泦琛', '绠$悊鍛', '1', '2', '寮鍙戦儴', '2022-09-21 19:28:20', '1', '绠$悊鍛', '1', '0', '1', '2022-09-21', '绠$悊鍛樺鐞嗗悓鎰', '1', '0', null, null, null, '2023-08-22 20:45:36', '2022-09-21 19:27:08', '0', '1', null);
INSERT INTO `xinhu_flow_bill` VALUES ('362', 'CP-20220921002', 'planm', '9', '136', '淇℃伅鏀堕泦琛', '寮犻', '6', '2', '寮鍙戦儴', '2022-11-11 21:37:18', '6', '寮犻', '1', '0', '1', '2022-09-21', '绠$悊鍛樺鐞嗗悓鎰', '1', '0', null, null, null, '2022-11-17 10:45:42', '2022-09-21 19:27:08', '0', '1', null);
INSERT INTO `xinhu_flow_bill` VALUES ('368', 'CO-20221109001', 'planm', '14', '135', '淇℃伅鏀堕泦', '绠$悊鍛', '1', '2', '寮鍙戦儴', '2022-11-11 19:03:46', '1', '绠$悊鍛', '5', '0', '1', '2022-11-09', '纾愮煶澶勭悊鍚屾剰', '1', '0', null, null, null, '2022-11-11 20:37:19', '2022-11-09 22:22:18', '0', '1', null);
-INSERT INTO `xinhu_flow_bill` VALUES ('398', 'YS-20230928-001', 'demo', '36', '72', '婕旂ず娴嬭瘯', '绠$悊鍛', '1', '2', '寮鍙戦儴', '2024-12-11 10:36:14', '1', '绠$悊鍛', '5', '0', '0', '2023-09-28', '寰呯鐭冲鐞', '0', '8889286', '5', '纾愮煶', null, '2024-12-11 10:36:14', '2023-09-28 14:11:00', '0', '1', '[{\"na\":\"瀹℃牳\",\"cna\":\"纾愮煶\",\"cnaid\":\"5\",\"shu\":\"1\"}]');
+INSERT INTO `xinhu_flow_bill` VALUES ('398', 'YS-20230928-001', 'demo', '36', '72', '婕旂ず娴嬭瘯', '绠$悊鍛', '1', '2', '寮鍙戦儴', '2025-05-19 08:57:52', '1', '绠$悊鍛', '5', '0', '0', '2023-09-28', '寰呯鐭冲鐞', '0', '8889286', '5', '纾愮煶', null, '2025-05-19 08:57:52', '2023-09-28 14:11:00', '0', '1', '[{\"na\":\"瀹℃牳\",\"cna\":\"纾愮煶\",\"cnaid\":\"5\",\"shu\":\"1\"}]');
INSERT INTO `xinhu_flow_bill` VALUES ('393', 'HC-20190507-003', 'hrsalary', '24', '34', '钖祫', '绠$悊鍛', '1', '2', '寮鍙戦儴', '2019-05-07 15:08:33', '1', '绠$悊鍛', null, '0', '1', '2019-05-07', null, '1', '0', null, null, null, '2023-05-28 14:55:10', '2019-05-07 15:08:33', '0', '1', null);
INSERT INTO `xinhu_flow_bill` VALUES ('394', 'CM-20230601-001', 'sealapl', '2', '49', '鍗扮珷璇佺収浣跨敤', '绠$悊鍛', '1', '2', '寮鍙戦儴', '2023-06-01 15:43:54', '1', '绠$悊鍛', '1,6,5', '0', '1', '2023-06-01', '绠$悊鍛樺鐞嗗凡鐩栫珷', '1', '0', null, null, null, '2023-08-22 20:45:36', '2023-06-01 15:30:00', '0', '1', null);
INSERT INTO `xinhu_flow_bill` VALUES ('396', 'WB-20230907-001', 'goodm', '25', '28', '鐗╁搧閲囪喘', '绠$悊鍛', '1', '2', '寮鍙戦儴', '2023-09-07 18:30:30', '1', '绠$悊鍛', '5', '0', '1', '2023-09-07', '纾愮煶澶勭悊鍚屾剰', '1', '0', null, null, null, '2023-09-07 18:30:56', '2023-09-07 18:30:30', '0', '1', null);
@@ -1364,7 +1364,7 @@ CREATE TABLE `xinhu_flow_checks` (
`addlx` tinyint(1) DEFAULT '0' COMMENT '绫诲瀷1鑷畾涔,2鎾ゅ洖娣诲姞,3閫鍥炴坊鍔,4杞Щ娣诲姞',
PRIMARY KEY (`id`),
KEY `table` (`table`,`mid`)
-) ENGINE=MyISAM AUTO_INCREMENT=236 DEFAULT CHARSET=utf8 COMMENT='鍗曟嵁鐨勫鏍镐汉';
+) ENGINE=MyISAM AUTO_INCREMENT=239 DEFAULT CHARSET=utf8 COMMENT='鍗曟嵁鐨勫鏍镐汉';
-- ----------------------------
-- Records of xinhu_flow_checks
@@ -1583,7 +1583,7 @@ CREATE TABLE `xinhu_flow_element` (
PRIMARY KEY (`id`),
KEY `mid` (`mid`),
KEY `fields` (`fields`)
-) ENGINE=MyISAM AUTO_INCREMENT=1840 DEFAULT CHARSET=utf8 COMMENT='妯″潡鍏冪礌';
+) ENGINE=MyISAM AUTO_INCREMENT=1842 DEFAULT CHARSET=utf8 COMMENT='妯″潡鍏冪礌';
-- ----------------------------
-- Records of xinhu_flow_element
@@ -2683,29 +2683,29 @@ INSERT INTO `xinhu_flow_element` VALUES ('1750', '157', '缂栧彿瑙勫垯', 'sericnu
INSERT INTO `xinhu_flow_element` VALUES ('1751', '157', '鐩稿叧鏉′欢', 'where', 'text', '4', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '鍏辩敤涓昏〃蹇呴』璁剧疆鏉′欢', '0', '0', '0', '鍩烘湰淇℃伅', '0', null);
INSERT INTO `xinhu_flow_element` VALUES ('1753', '157', '鐘舵', 'status', 'checkbox', '9', '1', '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '1', '0', '0', '0', null, '鍚敤妯″潡', '0', '0', '0', '鍩烘湰淇℃伅', '0', null);
INSERT INTO `xinhu_flow_element` VALUES ('1752', '157', '鎺掑簭鍙', 'sort', 'number', '6', '0', '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '1', '0', '0', '0', null, null, '0', '0', '0', '鍩烘湰淇℃伅', '0', null);
-INSERT INTO `xinhu_flow_element` VALUES ('1754', '157', '鎽樿瑙勫垯', 'summary', 'textarea', '19', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '璁剧疆鍦ㄥ崟鎹噷鏄剧ず鎽樿', '0', '0', '0', '鎽樿璁剧疆', '0', null);
-INSERT INTO `xinhu_flow_element` VALUES ('1755', '157', '搴旂敤鎽樿', 'summarx', 'textarea', '20', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '鎵嬫満绔垪琛ㄦ樉绀烘牸寮', '0', '0', '0', '鎽樿璁剧疆', '0', 'title:鏍囬锛宱ptdt:鏄剧ず鐨勬椂闂达紝cont:鍐呭淇℃伅锛屾崲琛岀敤[br]');
-INSERT INTO `xinhu_flow_element` VALUES ('1756', '157', '榛樿鎺掑簭', 'sortdir', 'text', '21', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '鍒楄〃鎺掑簭濡傦細id desc', '0', '0', '0', '鎽樿璁剧疆', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1754', '157', '鎽樿瑙勫垯', 'summary', 'textarea', '20', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '璁剧疆鍦ㄥ崟鎹噷鏄剧ず鎽樿', '0', '0', '0', '鎽樿璁剧疆', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1755', '157', '搴旂敤鎽樿', 'summarx', 'textarea', '21', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '鎵嬫満绔垪琛ㄦ樉绀烘牸寮', '0', '0', '0', '鎽樿璁剧疆', '0', 'title:鏍囬锛宱ptdt:鏄剧ず鐨勬椂闂达紝cont:鍐呭淇℃伅锛屾崲琛岀敤[br]');
+INSERT INTO `xinhu_flow_element` VALUES ('1756', '157', '榛樿鎺掑簭', 'sortdir', 'text', '22', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '鍒楄〃鎺掑簭濡傦細id desc', '0', '0', '0', '鎽樿璁剧疆', '0', null);
INSERT INTO `xinhu_flow_element` VALUES ('1757', '157', '鎻愪氦缂栬緫鏃', 'isflowlx', 'select', '13', '0', '1', 'isflowlxdata', '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', '娴佺▼', '0', null);
INSERT INTO `xinhu_flow_element` VALUES ('1758', '157', '娴佺▼鍔犵', 'isys', 'checkbox', '14', '0', '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '寮鍚祦绋嬪姞绛', '0', '0', '0', '娴佺▼', '0', null);
INSERT INTO `xinhu_flow_element` VALUES ('1759', '157', '褰曞叆椤垫祦绋嬪浘', 'isbxs', 'checkbox', '15', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '涓嶆樉绀烘祦绋嬪浘', '0', '0', '0', '娴佺▼', '0', null);
INSERT INTO `xinhu_flow_element` VALUES ('1760', '157', '褰曞叆椤垫妱閫', 'iscs', 'select', '16', '0', '1', 'iscsdata', '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', '娴佺▼', '0', null);
INSERT INTO `xinhu_flow_element` VALUES ('1761', '157', '鑷姩浣滃簾', 'zfeitime', 'number', '17', '0', '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', '娴佺▼', '0', '瓒呰繃澶氬皯鍒嗛挓鑷姩浣滃簾锛0涓嶉檺鍒讹紝璁″垝浠诲姟闇瑕佽繍琛');
-INSERT INTO `xinhu_flow_element` VALUES ('1762', '157', 'pc绔彁閱', 'pctx', 'checkbox', '22', '1', '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '寮鍚', '0', '0', '0', '鎻愰啋璁剧疆', '2', null);
-INSERT INTO `xinhu_flow_element` VALUES ('1763', '157', '閭欢鎻愰啋', 'emtx', 'checkbox', '23', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '寮鍚', '0', '0', '0', '鎻愰啋璁剧疆', '2', null);
-INSERT INTO `xinhu_flow_element` VALUES ('1764', '157', 'APP鎻愰啋', 'mctx', 'checkbox', '24', '1', '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '寮鍚', '0', '0', '0', '鎻愰啋璁剧疆', '2', null);
-INSERT INTO `xinhu_flow_element` VALUES ('1765', '157', '寰俊鎻愰啋', 'wxtx', 'checkbox', '25', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '寮鍚', '0', '0', '0', '鎻愰啋璁剧疆', '2', null);
-INSERT INTO `xinhu_flow_element` VALUES ('1766', '157', '閽夐拤鎻愰啋', 'ddtx', 'checkbox', '26', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '寮鍚', '0', '0', '0', '鎻愰啋璁剧疆', '2', null);
-INSERT INTO `xinhu_flow_element` VALUES ('1767', '157', '褰曞叆', 'islu', 'checkbox', '31', '1', '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '寮鍚綍鍏ヤ細鍦ㄦ祦绋嬬敵璇锋樉绀', '0', '0', '0', '鍏朵粬', '2', null);
-INSERT INTO `xinhu_flow_element` VALUES ('1768', '157', '鍚屾鏇存柊', 'isup', 'checkbox', '32', '1', '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '寮鍚洿鏂(鍚屾娴佺▼妯″潡鏃朵竴璧锋洿鏂)', '0', '0', '0', '鍏朵粬', '0', null);
-INSERT INTO `xinhu_flow_element` VALUES ('1769', '157', 'status瀛楁鐘舵', 'statusstr', 'text', '33', null, '0', null, '1', '1', 'maxhang', '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '涓嶅彲涔辫缃', '0', '0', '0', '鍏朵粬', '0', '榛樿鐘舵佸兼槸锛氥愬緟澶勭悊|blue,宸插鏍竱green,鏈氳繃|red銆戝搴斿间粠0寮濮嬶紝鍏朵腑0,1,2,5鍥哄畾鐨5鏄綔搴,1蹇呴』鏄凡瀹屾垚,宸插鏍哥姸鎬');
-INSERT INTO `xinhu_flow_element` VALUES ('1770', '157', '鍥炴墽纭', 'ishz', 'checkbox', '34', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '寮鍚', '0', '0', '0', '鍏朵粬', '0', null);
-INSERT INTO `xinhu_flow_element` VALUES ('1771', '157', '鎻愰啋璁剧疆', 'istxset', 'checkbox', '27', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '寮鍚崟鎹彁閱掕缃', '0', '0', '0', '鎻愰啋璁剧疆', '0', null);
-INSERT INTO `xinhu_flow_element` VALUES ('1772', '157', '鍒楄〃鐘舵佹悳绱', 'lbztxs', 'select', '35', '0', '0', 'lbztxsdata', '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', '鍏朵粬', '0', null);
-INSERT INTO `xinhu_flow_element` VALUES ('1773', '157', '鎿嶄綔璁板綍', 'isgbjl', 'checkbox', '28', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '涓嶆樉绀烘搷浣滆褰', '0', '0', '0', '璇︽儏鏄剧ず', '0', null);
-INSERT INTO `xinhu_flow_element` VALUES ('1774', '157', '鏌ラ槄璁板綍', 'isgbcy', 'checkbox', '29', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '涓嶆樉绀烘煡闃呰褰', '0', '0', '0', '璇︽儏鏄剧ず', '0', null);
-INSERT INTO `xinhu_flow_element` VALUES ('1775', '157', '寮璇勮', 'ispl', 'checkbox', '30', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '寮鍚彲璇勮', '0', '0', '0', '璇︽儏鏄剧ず', '2', null);
-INSERT INTO `xinhu_flow_element` VALUES ('1776', '157', 'ID', 'id', 'text', '36', null, '0', null, '0', '1', null, '0', '0', null, null, '0', null, '1', '1', '0', '0', '0', null, null, '0', '0', '0', null, '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1762', '157', 'pc绔彁閱', 'pctx', 'checkbox', '23', '1', '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '寮鍚', '0', '0', '0', '鎻愰啋璁剧疆', '2', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1763', '157', '閭欢鎻愰啋', 'emtx', 'checkbox', '24', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '寮鍚', '0', '0', '0', '鎻愰啋璁剧疆', '2', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1764', '157', 'APP鎻愰啋', 'mctx', 'checkbox', '25', '1', '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '寮鍚', '0', '0', '0', '鎻愰啋璁剧疆', '2', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1765', '157', '寰俊鎻愰啋', 'wxtx', 'checkbox', '26', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '寮鍚', '0', '0', '0', '鎻愰啋璁剧疆', '2', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1766', '157', '閽夐拤鎻愰啋', 'ddtx', 'checkbox', '27', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '寮鍚', '0', '0', '0', '鎻愰啋璁剧疆', '2', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1767', '157', '褰曞叆', 'islu', 'checkbox', '33', '1', '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '寮鍚綍鍏ヤ細鍦ㄦ祦绋嬬敵璇锋樉绀', '0', '0', '0', '鍏朵粬', '2', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1768', '157', '鍚屾鏇存柊', 'isup', 'checkbox', '34', '1', '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '寮鍚洿鏂(鍚屾娴佺▼妯″潡鏃朵竴璧锋洿鏂)', '0', '0', '0', '鍏朵粬', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1769', '157', 'status瀛楁鐘舵', 'statusstr', 'text', '35', null, '0', null, '1', '1', 'maxhang', '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '涓嶅彲涔辫缃', '0', '0', '0', '鍏朵粬', '0', '榛樿鐘舵佸兼槸锛氥愬緟澶勭悊|blue,宸插鏍竱green,鏈氳繃|red銆戝搴斿间粠0寮濮嬶紝鍏朵腑0,1,2,5鍥哄畾鐨5鏄綔搴,1蹇呴』鏄凡瀹屾垚,宸插鏍哥姸鎬');
+INSERT INTO `xinhu_flow_element` VALUES ('1770', '157', '鍥炴墽纭', 'ishz', 'checkbox', '36', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '寮鍚', '0', '0', '0', '鍏朵粬', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1771', '157', '鎻愰啋璁剧疆', 'istxset', 'checkbox', '28', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '寮鍚崟鎹彁閱掕缃', '0', '0', '0', '鎻愰啋璁剧疆', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1772', '157', '鍒楄〃鐘舵佹悳绱', 'lbztxs', 'select', '37', '0', '0', 'lbztxsdata', '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', '鍏朵粬', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1773', '157', '鎿嶄綔璁板綍', 'isgbjl', 'checkbox', '29', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '涓嶆樉绀烘搷浣滆褰', '0', '0', '0', '璇︽儏鏄剧ず', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1774', '157', '鏌ラ槄璁板綍', 'isgbcy', 'checkbox', '30', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, '涓嶆樉绀烘煡闃呰褰', '0', '0', '0', '璇︽儏鏄剧ず', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1775', '157', '寮璇勮', 'ispl', 'checkbox', '31', null, '0', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, '寮鍚彲璇勮', '0', '0', '0', '璇︽儏鏄剧ず', '2', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1776', '157', 'ID', 'id', 'text', '38', null, '0', null, '0', '1', null, '0', '0', null, null, '0', null, '1', '1', '0', '0', '0', null, null, '0', '0', '0', null, '0', null);
INSERT INTO `xinhu_flow_element` VALUES ('1777', '159', '瀵瑰簲妯″潡', 'mid', 'text', '0', null, '1', null, '1', '1', 'readonly', '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', null, '0', null);
INSERT INTO `xinhu_flow_element` VALUES ('1778', '159', '鍚嶇О', 'name', 'text', '2', null, '1', null, '1', '1', null, '0', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, null, '0', '0', '0', null, '2', null);
INSERT INTO `xinhu_flow_element` VALUES ('1779', '159', '瀵瑰簲瀛楁', 'fields', 'selectdatafalse', '3', null, '1', 'fieldsstore', '1', '1', 'onlyen', '0', '0', null, null, '0', null, '1', '0', '0', '1', '0', null, '閫夋嫨鏁版嵁搴撹〃瀛楁', '0', '0', '0', null, '0', null);
@@ -2764,6 +2764,8 @@ INSERT INTO `xinhu_flow_element` VALUES ('1835', '72', '鐘舵', 'ztstate', 'sel
INSERT INTO `xinhu_flow_element` VALUES ('1836', '72', '鐘舵', 'ztstate', 'select', '0', '0', '1', '0|鐘舵1|blue,1|鐘舵2|green', '1', '1', null, '1', '0', null, null, '0', null, '1', '0', '0', '0', '0', null, null, '0', '0', '0', null, '0', null);
INSERT INTO `xinhu_flow_element` VALUES ('1838', '9', '鎬诲簱瀛', 'stock', 'number', '8', null, '0', null, '0', '1', null, '0', '0', null, null, '0', null, '1', '1', '2', '0', '0', null, null, '0', '0', '0', null, '0', null);
INSERT INTO `xinhu_flow_element` VALUES ('1839', '157', '鐩稿叧鏂囦欢', 'filelx', 'select', '18', '0', '0', '0|閫変笂浼,1|蹇呴』涓婁紶', '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', '娴佺▼', '0', '褰曞叆椤电浉鍏虫枃浠堕噷鐨勬帶鍒');
+INSERT INTO `xinhu_flow_element` VALUES ('1840', '157', '缁忔垜澶勭悊绫诲瀷', 'jwcllx', 'select', '19', '0', '0', '0|鏈鐞嗕篃鍙互鏌ョ湅,1|闇澶勭悊鍚庢墠鑳芥煡鐪', '1', '1', null, '0', '0', null, null, '0', null, '0', '0', '0', '0', '0', null, null, '0', '0', '0', '娴佺▼', '0', null);
+INSERT INTO `xinhu_flow_element` VALUES ('1841', '157', '鍒楄〃椤靛悎璁', 'hjfields', 'text', '32', null, '0', null, '1', '1', null, '0', '0', null, null, '50', null, '0', '0', '0', '0', '0', null, '鍦ㄥ垪琛ㄩ〉閲屽悎璁″瓧娈靛:money', '0', '0', '0', '璇︽儏鏄剧ず', '0', null);
-- ----------------------------
-- Table structure for `xinhu_flow_extent`
@@ -3032,7 +3034,7 @@ CREATE TABLE `xinhu_flow_log` (
`iszb` tinyint(1) DEFAULT '0' COMMENT '鏄惁杞姙璁板綍',
PRIMARY KEY (`id`),
KEY `table` (`table`,`mid`)
-) ENGINE=MyISAM AUTO_INCREMENT=5026 DEFAULT CHARSET=utf8 COMMENT='鍗曟嵁鎿嶄綔璁板綍';
+) ENGINE=MyISAM AUTO_INCREMENT=5117 DEFAULT CHARSET=utf8 COMMENT='鍗曟嵁鎿嶄綔璁板綍';
-- ----------------------------
-- Records of xinhu_flow_log
@@ -3595,6 +3597,10 @@ INSERT INTO `xinhu_flow_log` VALUES ('5000', 'flow_element', '1838', '1', null,
INSERT INTO `xinhu_flow_log` VALUES ('5014', 'carmrese', '1', '1', '宸插綊杩', '椹鹃┒鍛樺綊杩', '50', '2025-03-27 19:18:57', null, '192.168.0.200', 'Chrome', '寮犻', '6', '44', null, '1', '3', null, '0');
INSERT INTO `xinhu_flow_log` VALUES ('5015', 'flow_element', '1839', '1', null, '鎻愪氦', '0', '2025-03-28 19:35:35', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '159', null, '1', '0', null, '0');
INSERT INTO `xinhu_flow_log` VALUES ('5013', 'meet', '12', '0', null, '鍋滅敤浼氳', '0', '2025-02-07 20:03:21', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '2', 'gray', '1', '0', null, '0');
+INSERT INTO `xinhu_flow_log` VALUES ('5026', 'flow_element', '1840', '1', null, '鎻愪氦', '0', '2025-05-01 11:16:31', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '159', null, '1', '0', null, '0');
+INSERT INTO `xinhu_flow_log` VALUES ('5052', 'wordxie', '5', '1', null, '鎻愪氦', '0', '2025-05-19 14:47:45', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '86', null, '1', '0', null, '0');
+INSERT INTO `xinhu_flow_log` VALUES ('5065', 'wordxie', '6', '1', null, '鎻愪氦', '0', '2025-05-20 12:43:05', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '86', null, '1', '0', null, '0');
+INSERT INTO `xinhu_flow_log` VALUES ('5101', 'flow_element', '1841', '1', null, '鎻愪氦', '0', '2025-05-24 10:19:40', null, '127.0.0.1', 'Chrome', '绠$悊鍛', '1', '159', null, '1', '0', null, '0');
-- ----------------------------
-- Table structure for `xinhu_flow_menu`
@@ -3799,118 +3805,120 @@ CREATE TABLE `xinhu_flow_set` (
`isys` tinyint(1) DEFAULT '0' COMMENT '鎻愯棰勫',
`logstr` varchar(500) DEFAULT NULL COMMENT '鎿嶄綔璁板綍鍒嗚〃',
`filelx` tinyint(1) DEFAULT '0' COMMENT '褰曞叆椤电浉搴旀枃浠0閫変笂浼,1蹇呴』涓婁紶',
+ `jwcllx` tinyint(1) DEFAULT '0' COMMENT '缁忔垜澶勭悊绫诲瀷',
+ `hjfields` varchar(50) DEFAULT NULL COMMENT '鍒楄〃椤靛悎璁',
PRIMARY KEY (`id`,`num`)
) ENGINE=MyISAM AUTO_INCREMENT=161 DEFAULT CHARSET=utf8 COMMENT='娴佺▼妯″潡';
-- ----------------------------
-- Records of xinhu_flow_set
-- ----------------------------
-INSERT INTO `xinhu_flow_set` VALUES ('1', '閫氱煡鍏憡', 'gong', '1', 'infor', null, '[{typename}]{title}', 'title:[{typename}]{title}\noptdt:{optdt}', '琛屾斂', '1', '0', '0', '0', 'XA-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2025-03-31 20:28:19', '1', '1', 'infors', '鎶曠エ椤圭洰', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '1', '1', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('2', '浼氳', 'meet', '2', 'meet', '`type` in(0,1)', '[{hyname}]{title},{startdt}鈫抺enddt}', 'title:{title}\ncont:浼氳瀹わ細{hyname}[br]鍙戣捣浜猴細{optname}[br]鍙備細浜猴細{joinname}\noptdt:{startdt}鈫抺enddt}', '琛屾斂', '1', '0', '0', '0', 'XB-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 13:54:09', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('3', '宸ヤ綔鏃ユ姤', 'daily', '21', 'daily', null, '[{optname}]{content}', 'title:[{optname}]{dt}鐨剓type}\noptdt:{optdt}\ncont:{content}', '鍩虹', '1', '0', '0', '0', 'XC-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2021-05-08 09:23:14', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '1', '0', '1', '1', '0', '1', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('4', '浠诲姟', 'work', '23', 'work', null, '[{type}]{title},鍒嗛厤缁:{dist}', 'title:{title}\noptdt:{optdt}\ncont:绫诲瀷锛歿type}[br]绛夌骇锛歿grade}[br]鍒嗛厤缁欙細{dist}[br]鍒涘缓鑰咃細{optname}[br]鎴鏃堕棿锛歿enddt}', '鍩虹', '1', '0', '0', '0', 'XW-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2021-04-01 10:18:34', '1', '1', null, null, '寰?鍒嗛厤,宸插畬鎴,鏃犳硶瀹屾垚,寰?鎵ц,?鎵ц涓,宸蹭綔搴,寰?楠岃瘉|blue', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('5', '璇峰亣鏉', 'leave', '30', 'kqinfo', 'kind=[F]璇峰亣[F]', '[{qjkind}]{stime}鈫抺etime}鍏眥totals}灏忔椂,{explain}', 'title:[{qjkind}]鍏眥totals}灏忔椂\ncont:鏃堕棿锛歿stime}鈫抺etime}[br]璇存槑锛歿explain}\noptdt:{optdt}', '鑰冨嫟', '1', '0', '0', '0', 'KA-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-09-23 17:02:28', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '1', '0', '0', '1', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('6', '鍔犵彮鍗', 'jiaban', '31', 'kqinfo', 'kind=[F]鍔犵彮[F]', '{stime}鈫抺etime}鍏卞姞鐝瓄totals}灏忔椂,{explain}', 'title:鍔犵彮鍏眥totals}灏忔椂\ncont:鏃堕棿锛歿stime}鈫抺etime}[br]璇存槑锛歿explain}\noptdt:{optdt}', '鑰冨嫟', '1', '0', '0', '0', 'KB-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2022-09-16 20:26:16', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '1', '0', '1', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('7', '瀹㈡埛绠$悊', 'customer', '50', 'customer', null, '{name}', 'title:{name}\noptdt:{optdt}\ncont:鏉ユ簮锛歿laiyuan}[br]鎿嶄綔浜猴細{optname}[br]鍏变韩缁欙細{shate}', '瀹㈡埛', '1', '0', '0', '0', 'CA-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2022-04-18 18:24:06', '1', '1', null, null, '鍋滅敤,鍚敤', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('8', '閿鍞満浼', 'custsale', '52', 'custsale', null, null, 'title:{custname}\noptdt:{optdt}\ncont:鏉ユ簮锛歿laiyuan}[br]閿鍞汉锛歿optname}[br]鐢宠鏃ユ湡锛歿applydt}[br]棰勮閲戦锛歿money}', '瀹㈡埛', '1', '0', '0', '0', 'CB-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 19:13:49', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('9', '鐗╁搧', 'goods', '80', 'goods', null, '鍚嶇О锛歿name}锛岀紪鍙凤細{num}', 'title:{name}\ncont:缂栧彿锛歿num}[br]瑙勬牸锛歿guige}[br]鍨嬪彿锛歿xinghao}[br]搴撳瓨锛歿stock}{unit}', '鐗╁搧', '1', '0', '0', '0', 'CC-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2020-05-30 18:50:17', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('11', '璐圭敤鎶ラ攢', 'finfybx', '90', 'fininfom', 'type=0', '鎶ラ攢锛歿money},鏀舵浜猴細{fullname}', null, '璐㈠姟', '1', '0', '0', '0', 'FA-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 14:16:05', '1', '1', 'fininfos', '鎶ラ攢鏄庣粏', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('10', '鐢ㄦ埛', 'user', '901', 'admin', null, '{deptallname}锛寋name}', 'title:{name}\ncont:閮ㄩ棬锛歿deptallname}[br]鑱屼綅锛歿ranking}[br]鐢佃瘽锛歿tel}[br]鎵嬫満锛歿mobile}[br]閭锛歿email}', '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2019-06-17 09:34:13', '1', '0', null, null, null, '0', '0', '1', '1', '0', '0', '2', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('12', '鏃ョ▼', 'schedule', '24', 'schedule', null, '{title}', 'title:{title}\noptdt:{optdt}\ncont:鏃堕棿锛歿startdt}[br]鎴锛歿enddt}[br]璇存槑锛歿explain}[br]閲嶅锛歿rate}[br]鎻愰啋锛歿txsj}', '鍩虹', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2024-07-10 16:47:04', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('13', '閮ㄩ棬', 'dept', '902', 'dept', null, '{name}', null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2019-06-03 17:25:41', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('14', '绯荤粺缁', 'group', '903', 'group', null, null, null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2016-08-13 17:47:58', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('15', '璁″垝浠诲姟', 'task', '904', 'task', null, null, null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2016-08-13 17:23:01', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('16', '浼氳瘽绠$悊', 'huihua', '905', 'im_group', 'type<>2', null, null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2016-08-13 17:26:59', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('17', '搴旂敤绠$悊', 'yingyong', '906', 'im_group', 'type=2', null, null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2016-08-13 17:26:25', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('18', '搴旂敤鑿滃崟', 'yymenu', '907', 'im_menu', null, null, null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2016-08-13 17:27:41', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('19', '鍙戞枃鍗', 'officia', '40', 'official', 'type=0', '{num}[{class}]{title}', 'title:{title}\noptdt:{optdt}\ncont:缂栧彿锛歿num}[br]鎺ユ敹鍗曚綅锛歿unitname}', '鍏枃', '1', '0', '0', '0', 'GA-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2020-04-25 20:23:09', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('20', '鏀舵枃鍗', 'officib', '41', 'official', 'type=1', '{num}{title}锛屾潵鏂囧崟浣嶏細{unitsame}', 'title:{title}\noptdt:{optdt}\ncont:缂栧彿锛歿num}[br]鏉ユ枃鍗曚綅锛歿unitname}[br]鏉ユ枃鏃ユ湡锛歿laidt}', '鍏枃', '1', '0', '0', '0', 'GB-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2021-01-07 17:50:25', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('21', '鎵撳崱璁板綍', 'kqdkjl', '32', 'kqdkjl', null, null, 'title:{dkdt}(鏄熸湡{week})\ncont:濮撳悕锛歿name}[br]鎵撳崱绫诲瀷锛歿type}[br]鎵撳崱IP锛歿ip}[br]璇存槑锛歿explain}', '鑰冨嫟', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 18:00:18', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('22', '椤圭洰', 'project', '22', 'project', null, '椤圭洰 鈥渰title}鈥,鎵ц浜猴細{runuser}', 'title:{title}\noptdt:{startdt}\ncont:绫诲瀷锛歿type}[br]鍒涘缓鑰咃細{optname}[br]棰勮缁撴潫锛歿enddt}[br]杩涘害锛歿progress}%', '鍩虹', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 16:33:47', '1', '1', null, null, '寰呮墽琛寍blue,宸插畬鎴恷green,缁撴潫|#888888,鎵ц涓瓅#ff6600', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('23', '澶栧嚭鍑哄樊', 'waichu', '33', 'kqout', null, '[{atype}]{address}{outtime}', 'title:{optname}[{atype}]{reason}\noptdt:{optdt}\ncont:澶栧嚭鏃堕棿锛歿outtime}[br]棰勮鍥炲矖锛歿intime}[br]鍦扮偣锛歿address}', '鑰冨嫟', '1', '0', '0', '0', 'KD-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 18:00:21', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('24', '鐗╁搧棰嗙敤', 'goodly', '82', 'goodm', 'type=0', '棰嗙敤鐗╁搧锛歿wupinlist}', 'cont:鏃ユ湡锛歿applydt}[br]棰嗙敤鐗╁搧锛歿wupinlist}', '鐗╁搧', '1', '0', '0', '0', 'WA-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 09:38:17', '1', '1', 'goodn', '棰嗙敤鐗╁搧', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('25', '鍑哄樊鎶ラ攢', 'finccbx', '91', 'fininfom', 'type=1', '鎶ラ攢閲戦:{money},鐩殑:{purpose},鎴愭灉:{purresult}', null, '璐㈠姟', '1', '0', '0', '0', 'FB-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2017-05-06 21:29:35', '1', '1', 'fininfos', '鎶ラ攢鏄庣粏', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('26', '鍊熸鍗', 'finjkd', '92', 'fininfom', 'type=2', '鍊熸閲戦:{money},鐢ㄩ:{purpose}', null, '璐㈠姟', '1', '0', '0', '0', 'FC-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2017-05-06 21:45:31', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('27', '杩樻鍗', 'finhkd', '93', 'fininfom', 'type=3', '杩樻閲戦锛歿money}锛岃繕娆炬柟寮:{paytype}锛岃繕娆惧埌锛歿fullname}', null, '璐㈠姟', '1', '0', '0', '0', 'FD-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2017-05-06 21:45:35', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('28', '鐗╁搧閲囪喘', 'caigou', '83', 'goodm', 'type=1', '浠嶽{custname}]閲囪喘閲戦:{money}鍏冿紝閲囪喘鐗╁搧锛歿wupinlist}', 'cont:渚涘簲鍟嗭細{custname}[br]閲囪喘鐗╁搧锛歿wupinlist}[br]閲戦锛歿money}鍏', '鐗╁搧', '1', '0', '0', '0', 'WB-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2023-01-10 19:25:35', '1', '1', 'goodn', '閲囪喘鐗╁搧', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('29', '浜哄憳妗f', 'userinfo', '60', 'userinfo', null, null, null, '浜轰簨', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 17:07:09', '1', '0', 'userinfos,userinfos', '宸ヤ綔缁忓巻,鏁欒偛缁忓巻', null, '0', '0', '0', '1', '0', '0', '1', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('30', '鑰冨嫟淇℃伅', 'leavehr', '34', 'kqinfo', null, null, null, '鑰冨嫟', '1', '0', '0', '0', null, '0', 'd4', '琛屾斂浜轰簨閮', '2016-09-13 13:46:55', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('31', '鍛樺伐鍚堝悓', 'userract', '61', 'userract', null, null, null, '浜轰簨', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:57:19', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('32', '杞鐢宠', 'hrpositive', '62', 'hrpositive', null, '鐢宠[{positivedt}]杞', null, '浜轰簨', '1', '0', '0', '0', 'HA-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:11', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('33', '绂昏亴鐢宠', 'hrredund', '63', 'hrredund', null, '[{redundtype}],鍦▄quitdt}绂昏亴', null, '浜轰簨', '1', '0', '0', '0', 'HB-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2021-06-24 16:13:03', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '1', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('34', '钖祫', 'hrsalary', '65', 'hrsalary', null, '{uname}[{month}]鏈堜唤鐨勮柂璧', 'title:{month}钖祫', '浜轰簨', '1', '0', '0', '0', 'HC-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:28', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('35', '瀹㈡埛鍚堝悓', 'custract', '53', 'custract', null, '缂栧彿[{num}],瀹㈡埛:{custname},{enddt}鍒版湡', 'title:{custname}\ncont:鍚堝悓缂栧彿锛歿num}[br]鏃ユ湡锛歿startdt}鈫抺enddt}[br]鐘舵侊細{moneys}', '瀹㈡埛', '1', '0', '0', '0', 'CC-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 19:13:52', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('36', '鏀舵鍗', 'custfina', '54', 'custfina', 'type=0', '鏃ユ湡[{dt}],{custname},{ispay}', 'title:{custname}\noptdt:{optdt}\ncont:閲戦锛歿money}[br]瀵瑰簲鍚堝悓锛歿htnum}', '瀹㈡埛', '1', '0', '0', '0', 'CD-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2022-11-15 17:48:04', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('37', '璋冭柂鐢宠', 'hrtrsalary', '66', 'hrtrsalary', null, '{optname}鐢宠璋冭柂', null, '浜轰簨', '1', '0', '0', '0', 'HD-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:31', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('38', '浜轰簨璋冨姩', 'hrtransfer', '67', 'hrtransfer', null, '[{tranname}]銆恵trantype}銆:{olddeptname}鈫抺newdeptname},{oldranking}鈫抺newranking}', null, '浜轰簨', '1', '0', '0', '0', 'HE-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:36', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('39', '濂栨儵澶勭綒', 'reward', '68', 'reward', null, '瀵广恵object}銆戠殑{atype},濂栨儵缁撴灉:{result},閲戦:{money}', null, '浜轰簨', '1', '0', '0', '0', 'HF-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:40', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('40', '鐭ヨ瘑', 'knowledge', '75', 'knowledge', null, '{title}', 'title:{title}\noptdt:{optdt}', '璧勬簮', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-05 18:11:27', '1', '1', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('41', '鍥哄畾璧勪骇', 'assetm', '6', 'assetm', null, null, 'title:{title}\ncont:鎵鍦ㄤ綅缃細{address}[br]缂栧彿锛歿num}[br]鐘舵侊細{state}[br]浣跨敤鑰咃細{usename}', '琛屾斂', '1', '0', '0', '0', 'CF-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2020-05-30 18:56:52', '1', '0', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('42', '杞﹁締绠$悊', 'carm', '121', 'carm', null, null, null, '杞﹁締', '1', '0', '0', '0', 'CH-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 13:32:06', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('43', '棰樺簱', 'knowtiku', '76', 'knowtiku', null, null, 'title:[{typename}]{title}\ncont:A锛歿ana}[br]B锛歿anb}[br]C锛歿anc}[br]D锛歿and}[br]E锛歿ane}', '璧勬簮', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-22 20:21:52', '1', '1', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('44', '杞﹁締棰勫畾', 'carmrese', '123', 'carmrese', null, '{usename}棰勫畾杞﹁締銆恵carnum}銆戝湪{startdt}鍓嶅線{address}', null, '杞﹁締', '1', '0', '0', '0', 'CJ-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 13:32:15', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('45', '鍥句功绠$悊', 'book', '8', 'book', null, '{title}', 'title:{title}', '琛屾斂', '1', '0', '0', '0', 'CK-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2021-06-29 19:29:25', '1', '0', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('46', '鍥句功鍊熼槄', 'bookborrow', '9', 'bookborrow', null, '{optname}鍊熼槄[{bookname}]', null, '琛屾斂', '1', '0', '0', '0', 'CL-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 13:55:41', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('47', '閭欢', 'emailm', '25', 'emailm', null, '{title},鍙戜欢浜:{sendname}', 'title:{title}\noptdt:{senddt}\ncont:鍙戜欢浜猴細{sendname}[br]鏀朵欢浜猴細{recename}', '鍩虹', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 17:12:14', '1', '1', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('48', '鍗扮珷璇佺収', 'seal', '10', 'seal', null, null, null, '琛屾斂', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 13:43:19', '1', '1', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('49', '鍗扮珷璇佺収浣跨敤', 'sealapl', '11', 'sealapl', null, '{optname}鐢宠浣跨敤[{sealname}]', null, '琛屾斂', '1', '0', '0', '0', 'CM-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 13:43:21', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('50', '寰呭姙澶勭悊', 'daiban', '908', 'flow_bill', null, null, null, '绯荤粺', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2016-12-15 17:48:55', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('51', '鎵撳崱寮傚父', 'kqerr', '35', 'kqerr', null, '{optname}[{errtype}]鐢宠', null, '鑰冨嫟', '1', '0', '0', '0', 'KE-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 18:00:26', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('52', '鍗曟嵁浣滃簾鐢宠', 'tovoid', '27', 'tovoid', null, '{optname}鐢宠鍗曞彿:{tonum}浣滃簾,妯″潡:{modename}', null, '鍩虹', '1', '0', '0', '0', 'ZF-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-07-04 13:37:44', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('53', '涓汉閫氳褰', 'vcard', '26', 'vcard', null, null, 'title:{name}\ncont:鐢佃瘽锛歿tel}[br]鎵嬫満锛歿mobile}[br]閭锛歿email}[br]鎵鍦ㄧ粍锛歿gname}', '鍩虹', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 17:12:17', '1', '1', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('54', '浼氳绾', 'meetjy', '3', 'meet', 'type=2', null, null, '琛屾斂', '1', '0', '0', '0', 'XC-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 13:54:23', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('55', '瀹氫綅璁板綍', 'kqdw', '36', 'location', null, null, 'title:{name}\noptdt:{optdt}\ncont:鏄熸湡锛歿week}[br]鍦板潃锛歿label}[br]璇存槑锛歿explain}', '鑰冨嫟', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 18:00:29', '1', '0', null, null, null, '1', '0', '0', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('56', '鑰冭瘯鍩硅', 'knowtraim', '77', 'knowtraim', null, '{title},鏃堕棿{startdt}鈫抺enddt}', 'title:{title}\noptdt:{start}', '璧勬簮', '1', '0', '0', '0', 'ZA-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-05 18:11:42', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('58', '杞﹁締淇℃伅鐧昏', 'carms', '122', 'carms', null, null, null, '杞﹁締', '1', '0', '0', '0', 'CN-Ymd', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 13:32:09', '1', '1', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('59', '杞﹁締缁翠慨', 'carmwx', '124', 'carmang', 'type=0', null, null, '杞﹁締', '1', '0', '0', '0', 'CX-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 13:32:18', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('60', '杞﹁締淇濆吇', 'carmby', '125', 'carmang', 'type=1', '杞﹁締淇濆吇', null, '杞﹁締', '1', '0', '0', '0', 'CY-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 13:32:21', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('61', '鍗曟嵁鎻愰啋璁剧疆', 'remind', '28', 'flow_remind', null, null, null, '鍩虹', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 17:14:33', '1', '0', null, null, null, '1', '1', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('62', '缁翠慨鎶ヤ慨', 'repair', '12', 'repair', null, '{assetm}:{reason}', null, '琛屾斂', '1', '0', '0', '0', 'WX-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 17:11:49', '1', '1', null, null, '寰?澶勭悊,宸插畬鎴', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('63', '鍏徃鍗曚綅', 'company', '900', 'company', null, '{name}', null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2019-06-17 09:28:55', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('64', '浠樻鐢宠', 'finpay', '94', 'fininfom', 'type=4', '鐢宠浠樻{money}鍏', null, '璐㈠姟', '1', '0', '0', '0', 'FE-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2025-01-10 10:08:54', '1', '1', null, null, '寰?澶勭悊,宸蹭粯娆', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '1', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('65', '寮绁ㄧ敵璇', 'finkai', '95', 'fininfom', 'type=5', '[{fullname}]瑕佸紑绁▄money}鍏', null, '璐㈠姟', '1', '0', '0', '0', 'FF-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2018-08-31 16:27:44', '1', '1', null, null, '寰?澶勭悊,宸插紑绁,涓嶅悓鎰', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('66', '鍗曟嵁閫氱煡璁剧疆', 'flowtodo', '909', 'flow_todo', null, '{summary}', null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2017-08-23 13:51:23', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('67', '璁㈤槄绠$悊', 'subscribe', '910', 'subscribe', null, '{cont}', null, '绯荤粺', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 19:22:20', '1', '0', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('68', '璁㈤槄鎶ヨ〃', 'subscribeinfo', '911', 'subscribeinfo', null, '{title}', 'title:{title}\noptdt:{optdt}\ncont:{cont}', '绯荤粺', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 19:22:09', '1', '0', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('69', '鍏枃鏌ラ槄', 'officic', '42', 'official', 'status=1', '{title}', 'title:{title}\noptdt:{optdt}\ncont:缂栧彿锛歿num}[br]鏉ユ枃鍗曚綅锛歿unitsame}', '鍏枃', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2023-05-10 12:23:38', '1', '0', null, null, null, '0', '1', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('70', '鑰冨嫟鏈鸿澶', 'kqjsn', '37', 'kqjsn', null, null, null, '鑰冨嫟', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:48:03', '1', '1', null, null, null, '0', '0', '0', '1', '0', '0', '2', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('71', '鑰冩牳璇勫垎', 'hrcheck', '72', 'hrcheck', null, '{startdt}鈥渰title}鈥濊冩牳', 'title:{title}\noptdt:{startdt}', '浜轰簨', '1', '0', '0', '0', 'HG-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:53', '1', '0', 'hrchecks,hrcheckn', '鑰冩牳鍐呭,璇勫垎璁板綍', null, '1', '1', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('72', '婕旂ず娴嬭瘯', 'demo', '930', 'demo', 'mid=0', '婕旂ず鏁版嵁:{ztstate}', null, '绯荤粺', '1', '0', '0', '0', 'YS-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2024-11-02 09:08:50', '1', '0', 'demo,demo', '澶氳瀛愯〃1,澶氳瀛愯〃2', null, '0', '0', '1', '1', '0', '0', '0', '1', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('73', '浠撳簱绠$悊', 'godepot', '81', 'godepot', null, null, null, '鐗╁搧', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 09:38:14', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('74', '鏂囨。鍒嗗尯', 'worc', '130', 'worc', null, null, null, '鏂囨。', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-05 13:28:30', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('75', '鏂囨。', 'word', '131', 'word', null, null, null, '鏂囨。', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-05 13:28:38', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('76', '璋冩嫧鍗', 'diaobo', '84', 'goodm', 'type=3', '浠庝粨搴撯渰custname}鈥濊皟鎷ㄧ墿鍝侊細{wupinlist}', 'cont:鏃ユ湡锛歿applydt}[br]璋冩嫧浠撳簱锛歿custname}[br]璋冩嫧鐗╁搧锛歿wupinlist}', '鐗╁搧', '1', '0', '0', '0', 'WC-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-04-29 11:36:10', '1', '1', 'goodn', '璋冩嫧鐗╁搧', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('77', '瀹㈡埛鐢宠浣跨敤', 'custappy', '55', 'custappy', 'dtype=0', '{optname}鐢宠瀹㈡埛[{custname}]浣跨敤', null, '瀹㈡埛', '1', '0', '0', '0', 'CE-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2021-11-25 11:34:28', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '1440', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('78', '浜哄憳闇姹', 'hrdemand', '69', 'hrdemint', 'type=0', '{bumen}锛屽矖浣嶁渰zhiwei}鈥濋渶{renshu}浜', null, '浜轰簨', '1', '0', '0', '0', 'HH-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:44', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('79', '闈㈣瘯瀹夋帓', 'hrmanshi', '70', 'hrdemint', 'type=1', '{name}鍦▄msdt}闈㈣瘯{zhiwei}锛岄潰璇曚汉{msuser}', null, '浜轰簨', '1', '0', '0', '0', 'HI-Ymd', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:47', '1', '1', null, null, '寰?澶勭悊,宸插畬鎴,涓嶉傚悎', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('80', '鍥炴墽纭', 'receipt', '912', 'receipt', null, null, 'cont:妯″潡锛歿modename}[br]鍙戦佷汉锛歿optname}[br]鍐呭锛歿explain}', '绯荤粺', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 19:22:45', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('83', '钖祫妯$増', 'hrsalarm', '64', 'hrsalarm', null, null, null, '浜轰簨', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:23', '1', '0', 'hrsalars', '瀛楁鍐呭椤圭洰', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('81', '鑰冩牳椤圭洰', 'hrkaohem', '71', 'hrkaohem', null, null, null, '浜轰簨', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:50', '1', '0', 'hrkaohes,hrkaohen', '鑰冩牳椤圭洰鍐呭,璇勫垎浜', null, '0', '0', '0', '1', '0', '0', '2', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('84', '绀句繚鍏Н閲', 'hrshebao', '63', 'hrshebao', null, null, null, '浜轰簨', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:19', '1', '0', null, null, null, '0', '0', '1', '1', '0', '0', '2', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('85', '鍙戠エ绠$悊', 'finpiao', '99', 'finpiao', null, null, null, '璐㈠姟', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 14:16:10', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('86', '鏂囨。鍗忎綔', 'wordxie', '132', 'wordxie', null, '{name}', 'title:{name}.{wtype}\ncont:鍒涘缓浜猴細{optname}[br]鍗忎綔浜猴細{xiename}[br]鍙煡鐪嬩汉锛歿recename}\noptdt:{optdt}', '鏂囨。', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-05 13:28:41', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('87', '鏂囦欢浼犻', 'wordeil', '133', 'wordeil', null, '{title}锛屾帴鏀朵汉锛歿qianname}', null, '鏂囨。', '1', '0', '0', '0', 'FI-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-05 13:28:44', '1', '1', null, null, '寰?鎺ユ敹,宸叉帴鏀,鎷掓敹', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('88', '鏂伴椈璧勮', 'news', '13', 'news', null, '[{typename}]{title}', 'title:[{typename}]{title}\noptdt:{optdt}', '琛屾斂', '1', '0', '0', '0', 'XA-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 17:11:53', '1', '1', null, null, '鍋滅敤,鍚敤', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('92', '閿鍞', 'custxiao', '56', 'goodm', 'type=2', '浠嶽{custname}]閿鍞噾棰:{money}鍏冿紝閿鍞墿鍝侊細{wupinlist}', 'cont:瀹㈡埛锛歿custname}[br]閿鍞墿鍝侊細{wupinlist}[br]閿鍞噾棰濓細{money}鍏', '瀹㈡埛', '1', '0', '0', '0', 'CF-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 19:14:02', '1', '1', 'goodn', '閿鍞墿鍝', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('98', '璺熻繘璁″垝', 'custplan', '51', 'custplan', null, '{custname}锛岃窡杩涙柟寮忥細{gentype}', 'title:{custname}\ncont:璺熻繘鏂瑰紡锛歿gentype}[br]璺熻繘浜猴細{optname}[br]璇存槑锛歿explain}[br]璁″垝鏃堕棿锛歿plandt}[br]瀹屾垚鏃堕棿锛歿findt}', '瀹㈡埛', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2020-01-16 19:08:01', '1', '1', null, null, '璁″垝|blue,宸插畬鎴恷green', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('99', '鏃ョ▼寰呭姙', 'scheduld', '24', 'scheduld', null, '{title}', 'title:{title}\noptdt:{startdt}\ncont:鍙戣捣浜猴細{optname}[br]璇存槑锛歿explain}', '鍩虹', '1', '0', '0', '0', 'XH-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2020-01-08 19:33:57', '1', '1', null, null, '寰?澶勭悊,宸插畬鎴', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('100', '鐗╁搧褰掕繕', 'goodgh', '85', 'goodm', 'type=4', '褰掕繕鐗╁搧锛歿wupinlist}', 'cont:鏃ユ湡锛歿applydt}[br]褰掕繕鐗╁搧锛歿wupinlist}', '鐗╁搧', '1', '0', '0', '0', 'WD-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2020-09-08 15:48:33', '1', '1', 'goodn', '褰掕繕鐗╁搧', '寰?纭,宸插綊杩', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('101', '璋冩煡闂嵎', 'wenjuan', '14', 'wenjuan', null, '{title}', 'title:{title}\noptdt:{startdt}鈫抺enddt}', '琛屾斂', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2020-05-27 19:43:42', '1', '1', 'wenjuat', '闂嵎椤', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('102', '閫璐у崟', 'tuihuo', '86', 'goodm', 'type=5', '閫璐х墿鍝侊細{wupinlist}', 'cont:鏃ユ湡锛歿applydt}[br]閫璐х墿鍝侊細{wupinlist}', '鐗╁搧', '1', '0', '0', '0', 'WE-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2020-09-08 15:48:50', '1', '1', 'goodn', '閫璐х墿鍝', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('108', '浜哄憳璇佷欢', 'userzheng', '62', 'userzheng', null, null, null, '浜轰簨', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2020-10-13 15:38:01', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'id asc', '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('116', '娉ㄥ唽瀹℃牳', 'regcheck', '913', 'regcheck', null, '娉ㄥ唽浜猴細鈥渰name}鈥濓紝娉ㄥ唽鎵嬫満锛歿mobile}', 'title:{name}娉ㄥ唽\ncont:鎵嬫満鍙凤細{mobile}', '绯荤粺', '1', '0', '0', '0', 'REG-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2021-04-29 10:52:04', '1', '0', null, null, null, '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('82', '渚跨', 'bianjian', '29', 'bianjian', null, '{content}', 'optdt:{suodt}\ncont:{content}', '鍩虹', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2021-08-31 18:45:45', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('122', '瀹㈡埛鏈嶅姟', 'custfuwu', '57', 'custappy', 'dtype=1', '{custname}鏈嶅姟閲戦锛歿money}', 'title:{custname}\noptdt:{optdt}\ncont:{explain}
閲戦锛歿money}', '瀹㈡埛', '1', '0', '0', '0', 'CG-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2021-11-25 14:15:45', '1', '1', null, null, '寰?澶勭悊,宸插畬鎴,鏈畬鎴', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('57', '浠樻鍗', 'custfinb', '54', 'custfina', 'type=1', '鏃ユ湡[{dt}],{custname},{ispay}', 'title:{custname}\noptdt:{optdt}\ncont:閲戦锛歿money}[br]瀵瑰簲鍚堝悓锛歿htnum}', '瀹㈡埛', '1', '0', '0', '0', 'CD-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2022-05-25 20:56:37', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('133', '宸ヤ綔璁″垝', 'planm', '30', 'planm', 'type=0', '{name}锛屾墽琛屼汉锛歿runren}', 'title:{name}\ncont:鎵ц浜猴細{runren}[br]寮濮嬫椂闂达細{startdt}[br]璇勫浜猴細{psren}[br]鎵ц鐘舵侊細{state}', '鍩虹', '1', '0', '0', '0', 'PL-Ymd', '1', 'all', '鍏ㄤ綋浜哄憳', '2022-09-09 16:54:30', '1', '1', 'plans', '璁″垝浜嬮」', '寰?澶勭悊,宸插彂甯,鏈氳繃', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('134', '鍥哄畾璧勪骇棰嗙敤', 'assetmly', '7', 'planm', 'type=1', '棰嗙敤鑰咃細{runren}锛岄鐢ㄨ祫浜э細{contentlist}', 'cont:棰嗙敤鑰咃細{runren}[br]棰嗙敤璧勪骇锛歿contentlist}[br]棰嗙敤鐘舵侊細{state}', '琛屾斂', '1', '0', '0', '0', 'CF-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2022-09-15 22:29:55', '1', '1', 'plans', '棰嗙敤璧勪骇', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('135', '淇℃伅鏀堕泦', 'collectm', '17', 'planm', 'type=2', '[{fenlei}]{name}锛屾敹闆嗗璞★細{runren}锛寋explain}', 'title:{name}\noptdt:{startdt}\ncont:绫诲瀷锛歿fenlei}[br]鏀堕泦瀵硅薄锛歿runren}[br]浜烘暟锛歿leixing}[br]璇存槑锛歿explain}', '琛屾斂', '1', '0', '0', '0', 'CO-Ymd', '1', 'all', '鍏ㄤ綋浜哄憳', '2022-11-11 22:22:10', '1', '1', 'plans', '鏀堕泦瀛楁', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('136', '淇℃伅鏀堕泦琛', 'collects', '18', 'planm', 'type=3', '{name}锛岃瘎瀹′汉锛歿psren}', 'title:{name}\noptdt:{startdt}\ncont:璇勫浜猴細{psren}[br]鎴鏃堕棿锛歿enddt}', '琛屾斂', '1', '0', '0', '0', 'CP-Ymd', '1', 'all', '鍏ㄤ綋浜哄憳', '2022-09-20 21:09:08', '1', '0', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('142', '渚涘簲鍟', 'custgys', '80', 'customer', 'isgys=1', null, 'title:{name}', '鐗╁搧', '1', '0', '0', '0', 'WAG-Ymd', '0', 'all', '鍏ㄤ綋浜哄憳', '2023-02-04 10:42:42', '1', '1', null, null, '鍋滅敤,鍚敤', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('157', '娴佺▼妯″潡鍒楄〃', 'flowset', '1001', 'flow_set', null, '{name}', null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2023-05-06 16:36:31', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'sort asc', '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('158', '鑿滃崟绠$悊', 'flowmenu', '1002', 'menu', null, '{name}', null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2023-05-08 18:02:52', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('159', '琛ㄥ崟鍏冪礌绠$悊', 'flowelement', '1003', 'flow_element', null, null, null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2023-05-06 20:24:09', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
-INSERT INTO `xinhu_flow_set` VALUES ('160', '鎶ヤ环鍗', 'custprice', '58', 'goodm', 'type=6', '缁橻{custname}]鎶ヤ环閲戦:{money}鍏冿紝鎶ヤ环鍐呭锛歿wupinlist}', 'cont:瀹㈡埛锛歿custname}[br]鎶ヤ环鍐呭锛歿wupinlist}[br]鎶ヤ环閲戦锛歿money}鍏', '瀹㈡埛', '1', '0', '0', '0', 'CB-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2024-09-01 09:17:23', '1', '1', 'goodn', '鎶ヤ环鍐呭', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0');
+INSERT INTO `xinhu_flow_set` VALUES ('1', '閫氱煡鍏憡', 'gong', '1', 'infor', null, '[{typename}]{title}', 'title:[{typename}]{title}\noptdt:{optdt}', '琛屾斂', '1', '0', '0', '0', 'XA-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2025-03-31 20:28:19', '1', '1', 'infors', '鎶曠エ椤圭洰', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '1', '1', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('2', '浼氳', 'meet', '2', 'meet', '`type` in(0,1)', '[{hyname}]{title},{startdt}鈫抺enddt}', 'title:{title}\ncont:浼氳瀹わ細{hyname}[br]鍙戣捣浜猴細{optname}[br]鍙備細浜猴細{joinname}\noptdt:{startdt}鈫抺enddt}', '琛屾斂', '1', '0', '0', '0', 'XB-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 13:54:09', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('3', '宸ヤ綔鏃ユ姤', 'daily', '21', 'daily', null, '[{optname}]{content}', 'title:[{optname}]{dt}鐨剓type}\noptdt:{optdt}\ncont:{content}', '鍩虹', '1', '0', '0', '0', 'XC-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2021-05-08 09:23:14', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '1', '0', '1', '1', '0', '1', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('4', '浠诲姟', 'work', '23', 'work', null, '[{type}]{title},鍒嗛厤缁:{dist}', 'title:{title}\noptdt:{optdt}\ncont:绫诲瀷锛歿type}[br]绛夌骇锛歿grade}[br]鍒嗛厤缁欙細{dist}[br]鍒涘缓鑰咃細{optname}[br]鎴鏃堕棿锛歿enddt}', '鍩虹', '1', '0', '0', '0', 'XW-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2021-04-01 10:18:34', '1', '1', null, null, '寰?鍒嗛厤,宸插畬鎴,鏃犳硶瀹屾垚,寰?鎵ц,?鎵ц涓,宸蹭綔搴,寰?楠岃瘉|blue', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('5', '璇峰亣鏉', 'leave', '30', 'kqinfo', 'kind=[F]璇峰亣[F]', '[{qjkind}]{stime}鈫抺etime}鍏眥totals}灏忔椂,{explain}', 'title:[{qjkind}]鍏眥totals}灏忔椂\ncont:鏃堕棿锛歿stime}鈫抺etime}[br]璇存槑锛歿explain}\noptdt:{optdt}', '鑰冨嫟', '1', '0', '0', '0', 'KA-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-09-23 17:02:28', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '1', '0', '0', '1', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('6', '鍔犵彮鍗', 'jiaban', '31', 'kqinfo', 'kind=[F]鍔犵彮[F]', '{stime}鈫抺etime}鍏卞姞鐝瓄totals}灏忔椂,{explain}', 'title:鍔犵彮鍏眥totals}灏忔椂\ncont:鏃堕棿锛歿stime}鈫抺etime}[br]璇存槑锛歿explain}\noptdt:{optdt}', '鑰冨嫟', '1', '0', '0', '0', 'KB-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2022-09-16 20:26:16', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '1', '0', '1', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('7', '瀹㈡埛绠$悊', 'customer', '50', 'customer', null, '{name}', 'title:{name}\noptdt:{optdt}\ncont:鏉ユ簮锛歿laiyuan}[br]鎿嶄綔浜猴細{optname}[br]鍏变韩缁欙細{shate}', '瀹㈡埛', '1', '0', '0', '0', 'CA-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2022-04-18 18:24:06', '1', '1', null, null, '鍋滅敤,鍚敤', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('8', '閿鍞満浼', 'custsale', '52', 'custsale', null, null, 'title:{custname}\noptdt:{optdt}\ncont:鏉ユ簮锛歿laiyuan}[br]閿鍞汉锛歿optname}[br]鐢宠鏃ユ湡锛歿applydt}[br]棰勮閲戦锛歿money}', '瀹㈡埛', '1', '0', '0', '0', 'CB-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 19:13:49', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('9', '鐗╁搧', 'goods', '80', 'goods', null, '鍚嶇О锛歿name}锛岀紪鍙凤細{num}', 'title:{name}\ncont:缂栧彿锛歿num}[br]瑙勬牸锛歿guige}[br]鍨嬪彿锛歿xinghao}[br]搴撳瓨锛歿stock}{unit}', '鐗╁搧', '1', '0', '0', '0', 'CC-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2020-05-30 18:50:17', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('11', '璐圭敤鎶ラ攢', 'finfybx', '90', 'fininfom', 'type=0', '鎶ラ攢锛歿money},鏀舵浜猴細{fullname}', null, '璐㈠姟', '1', '0', '0', '0', 'FA-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 14:16:05', '1', '1', 'fininfos', '鎶ラ攢鏄庣粏', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('10', '鐢ㄦ埛', 'user', '901', 'admin', null, '{deptallname}锛寋name}', 'title:{name}\ncont:閮ㄩ棬锛歿deptallname}[br]鑱屼綅锛歿ranking}[br]鐢佃瘽锛歿tel}[br]鎵嬫満锛歿mobile}[br]閭锛歿email}', '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2019-06-17 09:34:13', '1', '0', null, null, null, '0', '0', '1', '1', '0', '0', '2', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('12', '鏃ョ▼', 'schedule', '24', 'schedule', null, '{title}', 'title:{title}\noptdt:{optdt}\ncont:鏃堕棿锛歿startdt}[br]鎴锛歿enddt}[br]璇存槑锛歿explain}[br]閲嶅锛歿rate}[br]鎻愰啋锛歿txsj}', '鍩虹', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2024-07-10 16:47:04', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('13', '閮ㄩ棬', 'dept', '902', 'dept', null, '{name}', null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2019-06-03 17:25:41', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('14', '绯荤粺缁', 'group', '903', 'group', null, null, null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2016-08-13 17:47:58', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('15', '璁″垝浠诲姟', 'task', '904', 'task', null, null, null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2016-08-13 17:23:01', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('16', '浼氳瘽绠$悊', 'huihua', '905', 'im_group', 'type<>2', null, null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2016-08-13 17:26:59', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('17', '搴旂敤绠$悊', 'yingyong', '906', 'im_group', 'type=2', null, null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2016-08-13 17:26:25', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('18', '搴旂敤鑿滃崟', 'yymenu', '907', 'im_menu', null, null, null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2016-08-13 17:27:41', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('19', '鍙戞枃鍗', 'officia', '40', 'official', 'type=0', '{num}[{class}]{title}', 'title:{title}\noptdt:{optdt}\ncont:缂栧彿锛歿num}[br]鎺ユ敹鍗曚綅锛歿unitname}', '鍏枃', '1', '0', '0', '0', 'GA-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2020-04-25 20:23:09', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('20', '鏀舵枃鍗', 'officib', '41', 'official', 'type=1', '{num}{title}锛屾潵鏂囧崟浣嶏細{unitsame}', 'title:{title}\noptdt:{optdt}\ncont:缂栧彿锛歿num}[br]鏉ユ枃鍗曚綅锛歿unitname}[br]鏉ユ枃鏃ユ湡锛歿laidt}', '鍏枃', '1', '0', '0', '0', 'GB-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2021-01-07 17:50:25', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('21', '鎵撳崱璁板綍', 'kqdkjl', '32', 'kqdkjl', null, null, 'title:{dkdt}(鏄熸湡{week})\ncont:濮撳悕锛歿name}[br]鎵撳崱绫诲瀷锛歿type}[br]鎵撳崱IP锛歿ip}[br]璇存槑锛歿explain}', '鑰冨嫟', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 18:00:18', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('22', '椤圭洰', 'project', '22', 'project', null, '椤圭洰 鈥渰title}鈥,鎵ц浜猴細{runuser}', 'title:{title}\noptdt:{startdt}\ncont:绫诲瀷锛歿type}[br]鍒涘缓鑰咃細{optname}[br]棰勮缁撴潫锛歿enddt}[br]杩涘害锛歿progress}%', '鍩虹', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 16:33:47', '1', '1', null, null, '寰呮墽琛寍blue,宸插畬鎴恷green,缁撴潫|#888888,鎵ц涓瓅#ff6600', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('23', '澶栧嚭鍑哄樊', 'waichu', '33', 'kqout', null, '[{atype}]{address}{outtime}', 'title:{optname}[{atype}]{reason}\noptdt:{optdt}\ncont:澶栧嚭鏃堕棿锛歿outtime}[br]棰勮鍥炲矖锛歿intime}[br]鍦扮偣锛歿address}', '鑰冨嫟', '1', '0', '0', '0', 'KD-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 18:00:21', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('24', '鐗╁搧棰嗙敤', 'goodly', '82', 'goodm', 'type=0', '棰嗙敤鐗╁搧锛歿wupinlist}', 'cont:鏃ユ湡锛歿applydt}[br]棰嗙敤鐗╁搧锛歿wupinlist}', '鐗╁搧', '1', '0', '0', '0', 'WA-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 09:38:17', '1', '1', 'goodn', '棰嗙敤鐗╁搧', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('25', '鍑哄樊鎶ラ攢', 'finccbx', '91', 'fininfom', 'type=1', '鎶ラ攢閲戦:{money},鐩殑:{purpose},鎴愭灉:{purresult}', null, '璐㈠姟', '1', '0', '0', '0', 'FB-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2017-05-06 21:29:35', '1', '1', 'fininfos', '鎶ラ攢鏄庣粏', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('26', '鍊熸鍗', 'finjkd', '92', 'fininfom', 'type=2', '鍊熸閲戦:{money},鐢ㄩ:{purpose}', null, '璐㈠姟', '1', '0', '0', '0', 'FC-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2017-05-06 21:45:31', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('27', '杩樻鍗', 'finhkd', '93', 'fininfom', 'type=3', '杩樻閲戦锛歿money}锛岃繕娆炬柟寮:{paytype}锛岃繕娆惧埌锛歿fullname}', null, '璐㈠姟', '1', '0', '0', '0', 'FD-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2017-05-06 21:45:35', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('28', '鐗╁搧閲囪喘', 'caigou', '83', 'goodm', 'type=1', '浠嶽{custname}]閲囪喘閲戦:{money}鍏冿紝閲囪喘鐗╁搧锛歿wupinlist}', 'cont:渚涘簲鍟嗭細{custname}[br]閲囪喘鐗╁搧锛歿wupinlist}[br]閲戦锛歿money}鍏', '鐗╁搧', '1', '0', '0', '0', 'WB-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2023-01-10 19:25:35', '1', '1', 'goodn', '閲囪喘鐗╁搧', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('29', '浜哄憳妗f', 'userinfo', '60', 'userinfo', null, null, null, '浜轰簨', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 17:07:09', '1', '0', 'userinfos,userinfos', '宸ヤ綔缁忓巻,鏁欒偛缁忓巻', null, '0', '0', '0', '1', '0', '0', '1', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('30', '鑰冨嫟淇℃伅', 'leavehr', '34', 'kqinfo', null, null, null, '鑰冨嫟', '1', '0', '0', '0', null, '0', 'd4', '琛屾斂浜轰簨閮', '2016-09-13 13:46:55', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('31', '鍛樺伐鍚堝悓', 'userract', '61', 'userract', null, null, null, '浜轰簨', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:57:19', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('32', '杞鐢宠', 'hrpositive', '62', 'hrpositive', null, '鐢宠[{positivedt}]杞', null, '浜轰簨', '1', '0', '0', '0', 'HA-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:11', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('33', '绂昏亴鐢宠', 'hrredund', '63', 'hrredund', null, '[{redundtype}],鍦▄quitdt}绂昏亴', null, '浜轰簨', '1', '0', '0', '0', 'HB-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2021-06-24 16:13:03', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '1', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('34', '钖祫', 'hrsalary', '65', 'hrsalary', null, '{uname}[{month}]鏈堜唤鐨勮柂璧', 'title:{month}钖祫', '浜轰簨', '1', '0', '0', '0', 'HC-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:28', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('35', '瀹㈡埛鍚堝悓', 'custract', '53', 'custract', null, '缂栧彿[{num}],瀹㈡埛:{custname},{enddt}鍒版湡', 'title:{custname}\ncont:鍚堝悓缂栧彿锛歿num}[br]鏃ユ湡锛歿startdt}鈫抺enddt}[br]鐘舵侊細{moneys}', '瀹㈡埛', '1', '0', '0', '0', 'CC-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 19:13:52', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('36', '鏀舵鍗', 'custfina', '54', 'custfina', 'type=0', '鏃ユ湡[{dt}],{custname},{ispay}', 'title:{custname}\noptdt:{optdt}\ncont:閲戦锛歿money}[br]瀵瑰簲鍚堝悓锛歿htnum}', '瀹㈡埛', '1', '0', '0', '0', 'CD-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2025-05-24 10:33:09', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('37', '璋冭柂鐢宠', 'hrtrsalary', '66', 'hrtrsalary', null, '{optname}鐢宠璋冭柂', null, '浜轰簨', '1', '0', '0', '0', 'HD-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:31', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('38', '浜轰簨璋冨姩', 'hrtransfer', '67', 'hrtransfer', null, '[{tranname}]銆恵trantype}銆:{olddeptname}鈫抺newdeptname},{oldranking}鈫抺newranking}', null, '浜轰簨', '1', '0', '0', '0', 'HE-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:36', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('39', '濂栨儵澶勭綒', 'reward', '68', 'reward', null, '瀵广恵object}銆戠殑{atype},濂栨儵缁撴灉:{result},閲戦:{money}', null, '浜轰簨', '1', '0', '0', '0', 'HF-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:40', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('40', '鐭ヨ瘑', 'knowledge', '75', 'knowledge', null, '{title}', 'title:{title}\noptdt:{optdt}', '璧勬簮', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-05 18:11:27', '1', '1', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('41', '鍥哄畾璧勪骇', 'assetm', '6', 'assetm', null, null, 'title:{title}\ncont:鎵鍦ㄤ綅缃細{address}[br]缂栧彿锛歿num}[br]鐘舵侊細{state}[br]浣跨敤鑰咃細{usename}', '琛屾斂', '1', '0', '0', '0', 'CF-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2020-05-30 18:56:52', '1', '0', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('42', '杞﹁締绠$悊', 'carm', '121', 'carm', null, null, null, '杞﹁締', '1', '0', '0', '0', 'CH-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 13:32:06', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('43', '棰樺簱', 'knowtiku', '76', 'knowtiku', null, null, 'title:[{typename}]{title}\ncont:A锛歿ana}[br]B锛歿anb}[br]C锛歿anc}[br]D锛歿and}[br]E锛歿ane}', '璧勬簮', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-22 20:21:52', '1', '1', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('44', '杞﹁締棰勫畾', 'carmrese', '123', 'carmrese', null, '{usename}棰勫畾杞﹁締銆恵carnum}銆戝湪{startdt}鍓嶅線{address}', null, '杞﹁締', '1', '0', '0', '0', 'CJ-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 13:32:15', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('45', '鍥句功绠$悊', 'book', '8', 'book', null, '{title}', 'title:{title}', '琛屾斂', '1', '0', '0', '0', 'CK-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2021-06-29 19:29:25', '1', '0', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('46', '鍥句功鍊熼槄', 'bookborrow', '9', 'bookborrow', null, '{optname}鍊熼槄[{bookname}]', null, '琛屾斂', '1', '0', '0', '0', 'CL-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 13:55:41', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('47', '閭欢', 'emailm', '25', 'emailm', null, '{title},鍙戜欢浜:{sendname}', 'title:{title}\noptdt:{senddt}\ncont:鍙戜欢浜猴細{sendname}[br]鏀朵欢浜猴細{recename}', '鍩虹', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 17:12:14', '1', '1', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('48', '鍗扮珷璇佺収', 'seal', '10', 'seal', null, null, null, '琛屾斂', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 13:43:19', '1', '1', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('49', '鍗扮珷璇佺収浣跨敤', 'sealapl', '11', 'sealapl', null, '{optname}鐢宠浣跨敤[{sealname}]', null, '琛屾斂', '1', '0', '0', '0', 'CM-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 13:43:21', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('50', '寰呭姙澶勭悊', 'daiban', '908', 'flow_bill', null, null, null, '绯荤粺', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2016-12-15 17:48:55', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('51', '鎵撳崱寮傚父', 'kqerr', '35', 'kqerr', null, '{optname}[{errtype}]鐢宠', null, '鑰冨嫟', '1', '0', '0', '0', 'KE-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 18:00:26', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('52', '鍗曟嵁浣滃簾鐢宠', 'tovoid', '27', 'tovoid', null, '{optname}鐢宠鍗曞彿:{tonum}浣滃簾,妯″潡:{modename}', null, '鍩虹', '1', '0', '0', '0', 'ZF-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-07-04 13:37:44', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('53', '涓汉閫氳褰', 'vcard', '26', 'vcard', null, null, 'title:{name}\ncont:鐢佃瘽锛歿tel}[br]鎵嬫満锛歿mobile}[br]閭锛歿email}[br]鎵鍦ㄧ粍锛歿gname}', '鍩虹', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 17:12:17', '1', '1', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('54', '浼氳绾', 'meetjy', '3', 'meet', 'type=2', null, null, '琛屾斂', '1', '0', '0', '0', 'XC-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 13:54:23', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('55', '瀹氫綅璁板綍', 'kqdw', '36', 'location', null, null, 'title:{name}\noptdt:{optdt}\ncont:鏄熸湡锛歿week}[br]鍦板潃锛歿label}[br]璇存槑锛歿explain}', '鑰冨嫟', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 18:00:29', '1', '0', null, null, null, '1', '0', '0', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('56', '鑰冭瘯鍩硅', 'knowtraim', '77', 'knowtraim', null, '{title},鏃堕棿{startdt}鈫抺enddt}', 'title:{title}\noptdt:{start}', '璧勬簮', '1', '0', '0', '0', 'ZA-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-05 18:11:42', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('58', '杞﹁締淇℃伅鐧昏', 'carms', '122', 'carms', null, null, null, '杞﹁締', '1', '0', '0', '0', 'CN-Ymd', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 13:32:09', '1', '1', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('59', '杞﹁締缁翠慨', 'carmwx', '124', 'carmang', 'type=0', null, null, '杞﹁締', '1', '0', '0', '0', 'CX-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 13:32:18', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('60', '杞﹁締淇濆吇', 'carmby', '125', 'carmang', 'type=1', '杞﹁締淇濆吇', null, '杞﹁締', '1', '0', '0', '0', 'CY-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 13:32:21', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('61', '鍗曟嵁鎻愰啋璁剧疆', 'remind', '28', 'flow_remind', null, null, null, '鍩虹', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 17:14:33', '1', '0', null, null, null, '1', '1', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('62', '缁翠慨鎶ヤ慨', 'repair', '12', 'repair', null, '{assetm}:{reason}', null, '琛屾斂', '1', '0', '0', '0', 'WX-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 17:11:49', '1', '1', null, null, '寰?澶勭悊,宸插畬鎴', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('63', '鍏徃鍗曚綅', 'company', '900', 'company', null, '{name}', null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2019-06-17 09:28:55', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('64', '浠樻鐢宠', 'finpay', '94', 'fininfom', 'type=4', '鐢宠浠樻{money}鍏', null, '璐㈠姟', '1', '0', '0', '0', 'FE-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2025-01-10 10:08:54', '1', '1', null, null, '寰?澶勭悊,宸蹭粯娆', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '1', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('65', '寮绁ㄧ敵璇', 'finkai', '95', 'fininfom', 'type=5', '[{fullname}]瑕佸紑绁▄money}鍏', null, '璐㈠姟', '1', '0', '0', '0', 'FF-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2018-08-31 16:27:44', '1', '1', null, null, '寰?澶勭悊,宸插紑绁,涓嶅悓鎰', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('66', '鍗曟嵁閫氱煡璁剧疆', 'flowtodo', '909', 'flow_todo', null, '{summary}', null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2017-08-23 13:51:23', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('67', '璁㈤槄绠$悊', 'subscribe', '910', 'subscribe', null, '{cont}', null, '绯荤粺', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 19:22:20', '1', '0', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('68', '璁㈤槄鎶ヨ〃', 'subscribeinfo', '911', 'subscribeinfo', null, '{title}', 'title:{title}\noptdt:{optdt}\ncont:{cont}', '绯荤粺', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 19:22:09', '1', '0', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('69', '鍏枃鏌ラ槄', 'officic', '42', 'official', 'status=1', '{title}', 'title:{title}\noptdt:{optdt}\ncont:缂栧彿锛歿num}[br]鏉ユ枃鍗曚綅锛歿unitsame}', '鍏枃', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2023-05-10 12:23:38', '1', '0', null, null, null, '0', '1', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('70', '鑰冨嫟鏈鸿澶', 'kqjsn', '37', 'kqjsn', null, null, null, '鑰冨嫟', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:48:03', '1', '1', null, null, null, '0', '0', '0', '1', '0', '0', '2', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('71', '鑰冩牳璇勫垎', 'hrcheck', '72', 'hrcheck', null, '{startdt}鈥渰title}鈥濊冩牳', 'title:{title}\noptdt:{startdt}', '浜轰簨', '1', '0', '0', '0', 'HG-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:53', '1', '0', 'hrchecks,hrcheckn', '鑰冩牳鍐呭,璇勫垎璁板綍', null, '1', '1', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('72', '婕旂ず娴嬭瘯', 'demo', '930', 'demo', 'mid=0', '婕旂ず鏁版嵁:{ztstate}', null, '绯荤粺', '1', '0', '0', '0', 'YS-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2024-11-02 09:08:50', '1', '0', 'demo,demo', '澶氳瀛愯〃1,澶氳瀛愯〃2', null, '0', '0', '1', '1', '0', '0', '0', '1', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('73', '浠撳簱绠$悊', 'godepot', '81', 'godepot', null, null, null, '鐗╁搧', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 09:38:14', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('74', '鏂囨。鍒嗗尯', 'worc', '130', 'worc', null, null, null, '鏂囨。', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-05 13:28:30', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('75', '鏂囨。', 'word', '131', 'word', null, null, null, '鏂囨。', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-05 13:28:38', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('76', '璋冩嫧鍗', 'diaobo', '84', 'goodm', 'type=3', '浠庝粨搴撯渰custname}鈥濊皟鎷ㄧ墿鍝侊細{wupinlist}', 'cont:鏃ユ湡锛歿applydt}[br]璋冩嫧浠撳簱锛歿custname}[br]璋冩嫧鐗╁搧锛歿wupinlist}', '鐗╁搧', '1', '0', '0', '0', 'WC-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-04-29 11:36:10', '1', '1', 'goodn', '璋冩嫧鐗╁搧', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('77', '瀹㈡埛鐢宠浣跨敤', 'custappy', '55', 'custappy', 'dtype=0', '{optname}鐢宠瀹㈡埛[{custname}]浣跨敤', null, '瀹㈡埛', '1', '0', '0', '0', 'CE-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2021-11-25 11:34:28', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '1440', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('78', '浜哄憳闇姹', 'hrdemand', '69', 'hrdemint', 'type=0', '{bumen}锛屽矖浣嶁渰zhiwei}鈥濋渶{renshu}浜', null, '浜轰簨', '1', '0', '0', '0', 'HH-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:44', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('79', '闈㈣瘯瀹夋帓', 'hrmanshi', '70', 'hrdemint', 'type=1', '{name}鍦▄msdt}闈㈣瘯{zhiwei}锛岄潰璇曚汉{msuser}', null, '浜轰簨', '1', '0', '0', '0', 'HI-Ymd', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:47', '1', '1', null, null, '寰?澶勭悊,宸插畬鎴,涓嶉傚悎', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('80', '鍥炴墽纭', 'receipt', '912', 'receipt', null, null, 'cont:妯″潡锛歿modename}[br]鍙戦佷汉锛歿optname}[br]鍐呭锛歿explain}', '绯荤粺', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 19:22:45', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('83', '钖祫妯$増', 'hrsalarm', '64', 'hrsalarm', null, null, null, '浜轰簨', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:23', '1', '0', 'hrsalars', '瀛楁鍐呭椤圭洰', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('81', '鑰冩牳椤圭洰', 'hrkaohem', '71', 'hrkaohem', null, null, null, '浜轰簨', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:50', '1', '0', 'hrkaohes,hrkaohen', '鑰冩牳椤圭洰鍐呭,璇勫垎浜', null, '0', '0', '0', '1', '0', '0', '2', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('84', '绀句繚鍏Н閲', 'hrshebao', '63', 'hrshebao', null, null, null, '浜轰簨', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-06 17:03:19', '1', '0', null, null, null, '0', '0', '1', '1', '0', '0', '2', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('85', '鍙戠エ绠$悊', 'finpiao', '99', 'finpiao', null, null, null, '璐㈠姟', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 14:16:10', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('86', '鏂囨。鍗忎綔', 'wordxie', '132', 'wordxie', null, '{name}', 'title:{name}.{wtype}\ncont:鍒涘缓浜猴細{optname}[br]鍗忎綔浜猴細{xiename}[br]鍙煡鐪嬩汉锛歿recename}\noptdt:{optdt}', '鏂囨。', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-05 13:28:41', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('87', '鏂囦欢浼犻', 'wordeil', '133', 'wordeil', null, '{title}锛屾帴鏀朵汉锛歿qianname}', null, '鏂囨。', '1', '0', '0', '0', 'FI-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-05 13:28:44', '1', '1', null, null, '寰?鎺ユ敹,宸叉帴鏀,鎷掓敹', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('88', '鏂伴椈璧勮', 'news', '13', 'news', null, '[{typename}]{title}', 'title:[{typename}]{title}\noptdt:{optdt}', '琛屾斂', '1', '0', '0', '0', 'XA-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2019-06-03 17:11:53', '1', '1', null, null, '鍋滅敤,鍚敤', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('92', '閿鍞', 'custxiao', '56', 'goodm', 'type=2', '浠嶽{custname}]閿鍞噾棰:{money}鍏冿紝閿鍞墿鍝侊細{wupinlist}', 'cont:瀹㈡埛锛歿custname}[br]閿鍞墿鍝侊細{wupinlist}[br]閿鍞噾棰濓細{money}鍏', '瀹㈡埛', '1', '0', '0', '0', 'CF-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2019-06-07 19:14:02', '1', '1', 'goodn', '閿鍞墿鍝', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('98', '璺熻繘璁″垝', 'custplan', '51', 'custplan', null, '{custname}锛岃窡杩涙柟寮忥細{gentype}', 'title:{custname}\ncont:璺熻繘鏂瑰紡锛歿gentype}[br]璺熻繘浜猴細{optname}[br]璇存槑锛歿explain}[br]璁″垝鏃堕棿锛歿plandt}[br]瀹屾垚鏃堕棿锛歿findt}', '瀹㈡埛', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2020-01-16 19:08:01', '1', '1', null, null, '璁″垝|blue,宸插畬鎴恷green', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('99', '鏃ョ▼寰呭姙', 'scheduld', '24', 'scheduld', null, '{title}', 'title:{title}\noptdt:{startdt}\ncont:鍙戣捣浜猴細{optname}[br]璇存槑锛歿explain}', '鍩虹', '1', '0', '0', '0', 'XH-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2020-01-08 19:33:57', '1', '1', null, null, '寰?澶勭悊,宸插畬鎴', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('100', '鐗╁搧褰掕繕', 'goodgh', '85', 'goodm', 'type=4', '褰掕繕鐗╁搧锛歿wupinlist}', 'cont:鏃ユ湡锛歿applydt}[br]褰掕繕鐗╁搧锛歿wupinlist}', '鐗╁搧', '1', '0', '0', '0', 'WD-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2020-09-08 15:48:33', '1', '1', 'goodn', '褰掕繕鐗╁搧', '寰?纭,宸插綊杩', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('101', '璋冩煡闂嵎', 'wenjuan', '14', 'wenjuan', null, '{title}', 'title:{title}\noptdt:{startdt}鈫抺enddt}', '琛屾斂', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2020-05-27 19:43:42', '1', '1', 'wenjuat', '闂嵎椤', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('102', '閫璐у崟', 'tuihuo', '86', 'goodm', 'type=5', '閫璐х墿鍝侊細{wupinlist}', 'cont:鏃ユ湡锛歿applydt}[br]閫璐х墿鍝侊細{wupinlist}', '鐗╁搧', '1', '0', '0', '0', 'WE-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2020-09-08 15:48:50', '1', '1', 'goodn', '閫璐х墿鍝', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('108', '浜哄憳璇佷欢', 'userzheng', '62', 'userzheng', null, null, null, '浜轰簨', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2020-10-13 15:38:01', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'id asc', '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('116', '娉ㄥ唽瀹℃牳', 'regcheck', '913', 'regcheck', null, '娉ㄥ唽浜猴細鈥渰name}鈥濓紝娉ㄥ唽鎵嬫満锛歿mobile}', 'title:{name}娉ㄥ唽\ncont:鎵嬫満鍙凤細{mobile}', '绯荤粺', '1', '0', '0', '0', 'REG-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2021-04-29 10:52:04', '1', '0', null, null, null, '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('82', '渚跨', 'bianjian', '29', 'bianjian', null, '{content}', 'optdt:{suodt}\ncont:{content}', '鍩虹', '1', '0', '0', '0', null, '0', 'all', '鍏ㄤ綋浜哄憳', '2021-08-31 18:45:45', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('122', '瀹㈡埛鏈嶅姟', 'custfuwu', '57', 'custappy', 'dtype=1', '{custname}鏈嶅姟閲戦锛歿money}', 'title:{custname}\noptdt:{optdt}\ncont:{explain}
閲戦锛歿money}', '瀹㈡埛', '1', '0', '0', '0', 'CG-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2021-11-25 14:15:45', '1', '1', null, null, '寰?澶勭悊,宸插畬鎴,鏈畬鎴', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('57', '浠樻鍗', 'custfinb', '54', 'custfina', 'type=1', '鏃ユ湡[{dt}],{custname},{ispay}', 'title:{custname}\noptdt:{optdt}\ncont:閲戦锛歿money}[br]瀵瑰簲鍚堝悓锛歿htnum}', '瀹㈡埛', '1', '0', '0', '0', 'CD-Ymd-', '0', 'all', '鍏ㄤ綋浜哄憳', '2022-05-25 20:56:37', '1', '1', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('133', '宸ヤ綔璁″垝', 'planm', '30', 'planm', 'type=0', '{name}锛屾墽琛屼汉锛歿runren}', 'title:{name}\ncont:鎵ц浜猴細{runren}[br]寮濮嬫椂闂达細{startdt}[br]璇勫浜猴細{psren}[br]鎵ц鐘舵侊細{state}', '鍩虹', '1', '0', '0', '0', 'PL-Ymd', '1', 'all', '鍏ㄤ綋浜哄憳', '2022-09-09 16:54:30', '1', '1', 'plans', '璁″垝浜嬮」', '寰?澶勭悊,宸插彂甯,鏈氳繃', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('134', '鍥哄畾璧勪骇棰嗙敤', 'assetmly', '7', 'planm', 'type=1', '棰嗙敤鑰咃細{runren}锛岄鐢ㄨ祫浜э細{contentlist}', 'cont:棰嗙敤鑰咃細{runren}[br]棰嗙敤璧勪骇锛歿contentlist}[br]棰嗙敤鐘舵侊細{state}', '琛屾斂', '1', '0', '0', '0', 'CF-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2022-09-15 22:29:55', '1', '1', 'plans', '棰嗙敤璧勪骇', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('135', '淇℃伅鏀堕泦', 'collectm', '17', 'planm', 'type=2', '[{fenlei}]{name}锛屾敹闆嗗璞★細{runren}锛寋explain}', 'title:{name}\noptdt:{startdt}\ncont:绫诲瀷锛歿fenlei}[br]鏀堕泦瀵硅薄锛歿runren}[br]浜烘暟锛歿leixing}[br]璇存槑锛歿explain}', '琛屾斂', '1', '0', '0', '0', 'CO-Ymd', '1', 'all', '鍏ㄤ綋浜哄憳', '2022-11-11 22:22:10', '1', '1', 'plans', '鏀堕泦瀛楁', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('136', '淇℃伅鏀堕泦琛', 'collects', '18', 'planm', 'type=3', '{name}锛岃瘎瀹′汉锛歿psren}', 'title:{name}\noptdt:{startdt}\ncont:璇勫浜猴細{psren}[br]鎴鏃堕棿锛歿enddt}', '琛屾斂', '1', '0', '0', '0', 'CP-Ymd', '1', 'all', '鍏ㄤ綋浜哄憳', '2022-09-20 21:09:08', '1', '0', null, null, null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('142', '渚涘簲鍟', 'custgys', '80', 'customer', 'isgys=1', null, 'title:{name}', '鐗╁搧', '1', '0', '0', '0', 'WAG-Ymd', '0', 'all', '鍏ㄤ綋浜哄憳', '2023-02-04 10:42:42', '1', '1', null, null, '鍋滅敤,鍚敤', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('157', '娴佺▼妯″潡鍒楄〃', 'flowset', '1001', 'flow_set', null, '{name}', null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2023-05-06 16:36:31', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'sort asc', '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('158', '鑿滃崟绠$悊', 'flowmenu', '1002', 'menu', null, '{name}', null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2023-05-08 18:02:52', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('159', '琛ㄥ崟鍏冪礌绠$悊', 'flowelement', '1003', 'flow_element', null, null, null, '绯荤粺', '1', '0', '0', '0', null, '0', 'u1', '绠$悊鍛', '2023-05-06 20:24:09', '1', '0', null, null, null, '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
+INSERT INTO `xinhu_flow_set` VALUES ('160', '鎶ヤ环鍗', 'custprice', '58', 'goodm', 'type=6', '缁橻{custname}]鎶ヤ环閲戦:{money}鍏冿紝鎶ヤ环鍐呭锛歿wupinlist}', 'cont:瀹㈡埛锛歿custname}[br]鎶ヤ环鍐呭锛歿wupinlist}[br]鎶ヤ环閲戦锛歿money}鍏', '瀹㈡埛', '1', '0', '0', '0', 'CB-Ymd-', '1', 'all', '鍏ㄤ綋浜哄憳', '2024-09-01 09:17:23', '1', '1', 'goodn', '鎶ヤ环鍐呭', null, '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', null, '0', null, '0', '0', null);
-- ----------------------------
-- Table structure for `xinhu_flow_todo`
@@ -5463,13 +5471,13 @@ CREATE TABLE `xinhu_im_history` (
-- ----------------------------
-- Records of xinhu_im_history
-- ----------------------------
-INSERT INTO `xinhu_im_history` VALUES ('1', 'group', '2', '2', '8', '2025-03-31 20:38:26', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
-INSERT INTO `xinhu_im_history` VALUES ('2', 'group', '2', '7', '8', '2025-03-31 20:38:26', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
-INSERT INTO `xinhu_im_history` VALUES ('3', 'group', '2', '6', '8', '2025-03-31 20:38:26', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
-INSERT INTO `xinhu_im_history` VALUES ('4', 'group', '2', '8', '8', '2025-03-31 20:38:26', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
-INSERT INTO `xinhu_im_history` VALUES ('5', 'group', '2', '5', '8', '2025-03-31 20:38:26', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
-INSERT INTO `xinhu_im_history` VALUES ('6', 'group', '2', '1', '8', '2025-03-31 20:38:26', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
-INSERT INTO `xinhu_im_history` VALUES ('7', 'group', '2', '4', '8', '2025-03-31 20:38:26', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
+INSERT INTO `xinhu_im_history` VALUES ('1', 'group', '2', '2', '8', '2025-05-27 14:37:39', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
+INSERT INTO `xinhu_im_history` VALUES ('2', 'group', '2', '7', '8', '2025-05-27 14:37:39', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
+INSERT INTO `xinhu_im_history` VALUES ('3', 'group', '2', '6', '8', '2025-05-27 14:37:39', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
+INSERT INTO `xinhu_im_history` VALUES ('4', 'group', '2', '8', '8', '2025-05-27 14:37:39', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
+INSERT INTO `xinhu_im_history` VALUES ('5', 'group', '2', '5', '8', '2025-05-27 14:37:39', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
+INSERT INTO `xinhu_im_history` VALUES ('6', 'group', '2', '1', '8', '2025-05-27 14:37:39', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
+INSERT INTO `xinhu_im_history` VALUES ('7', 'group', '2', '4', '8', '2025-05-27 14:37:39', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '1', null, null, '0');
-- ----------------------------
-- Table structure for `xinhu_im_menu`
@@ -5721,7 +5729,7 @@ CREATE TABLE `xinhu_im_mess` (
-- ----------------------------
-- Records of xinhu_im_mess
-- ----------------------------
-INSERT INTO `xinhu_im_mess` VALUES ('1', '2025-03-31 20:38:26', '1', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '8', '2', '2,7,6,8,5,1,4', 'group', null, '0', null);
+INSERT INTO `xinhu_im_mess` VALUES ('1', '2025-05-27 14:37:39', '1', '5aSn5a625pyJ5ZWl6Zeu6aKY6L!Z6YeM6K!05ZWK77yB', '8', '2', '2,7,6,8,5,1,4', 'group', null, '0', null);
-- ----------------------------
-- Table structure for `xinhu_im_messzt`
@@ -5804,7 +5812,7 @@ CREATE TABLE `xinhu_infor` (
-- ----------------------------
INSERT INTO `xinhu_infor` VALUES ('1', '娆㈣繋浣跨敤淇″懠宸ヤ綔鍙', '2018-04-26 17:27:10', '閫氱煡鍏憡', '\n 娆㈣繋浣跨敤锛屾湁浠讳綍闂鍙互闅忔椂鑱旂郴鎴戜滑锛屽府浣犺В绛斿摝銆 \n
\n\n 淇″懠鏄竴娆惧紑婧愬厤璐圭殑宸ヤ綔鍙拌蒋浠讹紝鍙坊鍔犲簲鐢紝绠$悊锛宲c涓婏紝app閮藉彲浠ヤ娇鐢紝鎴戜滑鐨勪唬鐮佸叏閮ㄥ紑鏀撅紝鍙嚜鐢变娇鐢ㄣ俓n
', null, null, null, '1', '绠$悊鍛', null, null, '淇″懠寮鍙戝洟闃', '2016-08-01', '1', null, '0', '0', '0', '0', null, null, '0', '0', '0');
INSERT INTO `xinhu_infor` VALUES ('2', '鍏充簬鍐欐棩鎶ュ埗搴﹁鏄', '2019-04-13 19:54:43', '瑙勫垯鍒跺害', '\n 1銆佹瘡涓汉宸ヤ綔鏃ュ湪涓嬬彮鍚庡繀椤诲啓宸ヤ綔鏃ユ姤锛屽叏澶╄鍋囧彲涓嶇敤鍐欙紝鍙鏈変笂鐝氨闇瑕佸啓锛屽嵆浣夸綘涓婄彮1鍒嗛挓銆俓n
\n\n 2銆佷篃鍙互闅斿ぉ鍐欍俓n
\n\n 鏈啓澶勭綒 \n
\n\n 1銆佹湭鍐欎竴娆℃墸浜斿潡锛岀疮璁″姞鍊嶃俓n
', null, 'u1,u2,u3,u4,u5,u6,u7,u8,u9', null, '1', '绠$悊鍛', null, null, '浜哄姏琛屾斂閮', '2016-08-01', '1', 'images/kqbanner1.jpg', '0', '0', '0', '0', null, null, '0', '0', '0');
-INSERT INTO `xinhu_infor` VALUES ('6', '淇″懠鏇存柊鍙戝竷V2.6.8鐗堟湰(蹇呯湅)', '2025-03-31 20:28:30', '閫氱煡鍏憡', '\n 鐗堟湰娣诲姞浜嗗彂甯冨涓嬪姛鑳藉晩銆俓n
\n\n 1銆佺郴缁熷姛鑳藉畬鍠勩俓n
\n\n 2銆佹洿鏂颁簡寰堝锛岃嚜宸辩湅鍗囩骇鏃ュ織銆俓n
\n\n 3銆佺郴缁熼粯璁ゆ湁娴嬭瘯鏁版嵁锛屽彲鍒帮細绯荤粺鈫掔郴缁熷伐鍏封啋鍒濆鍖栧浠斤紝涓嬪垵濮嬪寲鍒犻櫎娴嬭瘯鏁版嵁銆俓n
', 'http://www.rockoa.com/view_down.html', 'd1', '淇″懠寮鍙戝洟闃', '1', '绠$悊鍛', null, null, '淇″懠寮鍙戝洟闃', '2025-03-31', '1', 'images/logo.png', '0', '0', '0', '1', null, null, '1', '1', '0');
+INSERT INTO `xinhu_infor` VALUES ('6', '淇″懠鏇存柊鍙戝竷V2.6.9鐗堟湰(蹇呯湅)', '2025-05-26 15:29:55', '閫氱煡鍏憡', '\n 鐗堟湰娣诲姞浜嗗彂甯冨涓嬪姛鑳藉晩銆俓n
\n\n 1銆佺郴缁熷姛鑳藉畬鍠勩俓n
\n\n 2銆佹洿鏂颁簡寰堝锛岃嚜宸辩湅鍗囩骇鏃ュ織銆俓n
\n\n 3銆佺郴缁熼粯璁ゆ湁娴嬭瘯鏁版嵁锛屽彲鍒帮細绯荤粺鈫掔郴缁熷伐鍏封啋鍒濆鍖栧浠斤紝涓嬪垵濮嬪寲鍒犻櫎娴嬭瘯鏁版嵁銆俓n
', 'http://www.rockoa.com/view_down.html', 'd1', '淇″懠寮鍙戝洟闃', '1', '绠$悊鍛', null, null, '淇″懠寮鍙戝洟闃', '2025-05-26', '1', 'images/logo.png', '0', '0', '0', '1', null, null, '1', '1', '0');
INSERT INTO `xinhu_infor` VALUES ('9', '浣犱滑瑙夊緱杩欎釜绯荤粺濡備綍锛', '2019-06-03 13:17:05', '閫氱煡鍏憡', '寮濮嬫姇绁ㄦ媺銆', null, 'd1', '淇″懠寮鍙戝洟闃', '1', '绠$悊鍛', '2018-08-31 12:42:00', '2017-08-26 12:42:00', '寮鍙戦儴', '2017-08-26', '1', null, '1', '1', '0', '0', '2019-04-15', null, '1', '0', '0');
-- ----------------------------
@@ -6957,7 +6965,7 @@ CREATE TABLE `xinhu_official` (
`ffdt` date DEFAULT NULL COMMENT '鍒嗗彂鏃ユ湡',
`pdfid` int(11) DEFAULT '0' COMMENT '鐢熸垚pdf鏂囦欢id',
PRIMARY KEY (`id`)
-) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COMMENT='鍏枃';
+) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COMMENT='鍏枃';
-- ----------------------------
-- Records of xinhu_official
@@ -6992,7 +7000,7 @@ CREATE TABLE `xinhu_option` (
PRIMARY KEY (`id`),
KEY `num` (`num`),
KEY `pid` (`pid`)
-) ENGINE=MyISAM AUTO_INCREMENT=939 DEFAULT CHARSET=utf8 COMMENT='绯荤粺閫夐」';
+) ENGINE=MyISAM AUTO_INCREMENT=940 DEFAULT CHARSET=utf8 COMMENT='绯荤粺閫夐」';
-- ----------------------------
-- Records of xinhu_option
@@ -8037,7 +8045,7 @@ CREATE TABLE `xinhu_task` (
INSERT INTO `xinhu_task` VALUES ('1', '娴佺▼浠庢柊鍖归厤', '绯荤粺', 'flow,pipei', 'd,d', '00:10:00,12:10:00', '姣忓ぉ0,12鐐', '1', '0', null, null, '0', null, null, null, null, null);
INSERT INTO `xinhu_task` VALUES ('2', '鏁版嵁澶囦唤', '绯荤粺', 'sys,beifen', 'd', '00:20:00', '姣忓ぉ鍑屾櫒00:20', '1', '0', null, null, '0', null, null, null, null, null);
INSERT INTO `xinhu_task` VALUES ('3', '绯荤粺鍗囩骇鎻愰啋', '绯荤粺', 'sys,upgtx', 'd', '00:25:00', '姣忓ぉ鍑屾櫒00:25', '0', '0', null, null, '0', null, null, null, '1,8', '绠$悊鍛,淇″懠瀹㈡湇');
-INSERT INTO `xinhu_task` VALUES ('4', '5鍒嗛挓杩愯1娆', '绯荤粺', 'minute5,run', 'i5', '00', '姣5鍒嗛挓杩愯涓娆', '1', '1', '2025-03-31 20:40:00', null, '0', null, 'success', '杩欎釜鏄繀椤荤殑锛屼笉鍙垹闄ゅ仠鐢', null, null);
+INSERT INTO `xinhu_task` VALUES ('4', '5鍒嗛挓杩愯1娆', '绯荤粺', 'minute5,run', 'i5', '00', '姣5鍒嗛挓杩愯涓娆', '1', '0', null, null, '0', null, null, '杩欎釜鏄繀椤荤殑锛屼笉鍙垹闄ゅ仠鐢', null, null);
INSERT INTO `xinhu_task` VALUES ('5', '鑰冨嫟淇℃伅鎻愰啋', '鑰冨嫟', 'kaoqin,todo', 'd', '09:25:00', '姣忓ぉ9鐐', '1', '0', null, null, '21', null, null, '鍦ㄦā鍧椼愯冨嫟淇℃伅銆戜笅璁剧疆鎻愰啋鍒板摢浜涘钩鍙般', null, null);
INSERT INTO `xinhu_task` VALUES ('6', '鐢ㄦ埛鏁版嵁鏇存柊', '鐢ㄦ埛', 'sys,dataup', 'd', '00:10:00', '姣忓ぉ', '1', '0', null, null, '1', null, null, null, null, null);
INSERT INTO `xinhu_task` VALUES ('7', '鑰冨嫟鍒嗘瀽', '鑰冨嫟', 'kaoqin,anay', 'd', '02:15:00', '姣忓ぉ2鐐', '1', '0', null, null, '22', null, null, '鍒嗘瀽鍏ㄤ綋浜哄憳鏄ㄥぉ鐨勮冨嫟', null, null);
@@ -8482,7 +8490,7 @@ CREATE TABLE `xinhu_wordxie` (
`isgk` tinyint(4) DEFAULT '0' COMMENT '鏄惁鍙浠栦汉閫夋嫨',
`tplvar` varchar(500) DEFAULT NULL COMMENT '妯$増涓彉閲',
PRIMARY KEY (`id`)
-) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='鏂囨。鍗忎綔';
+) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='鏂囨。鍗忎綔';
-- ----------------------------
-- Records of xinhu_wordxie
@@ -8490,6 +8498,8 @@ CREATE TABLE `xinhu_wordxie` (
INSERT INTO `xinhu_wordxie` VALUES ('1', '淇″懠寮鍙戝洟闃熶粙缁', null, 'pptx', '绠$悊鍛', '1', '2019-03-09 20:35:22', '琛屾斂浜轰簨閮,寮鍙戦儴', 'd4,d2', '淇″懠寮鍙戝洟闃', 'd1', '1', '3', null, '0', '0', null);
INSERT INTO `xinhu_wordxie` VALUES ('2', '淇″懠浣跨敤鏂囨。', null, 'docx', '绠$悊鍛', '1', '2019-08-18 19:16:51', '寮鍙戦儴', 'd2', '淇″懠寮鍙戝洟闃', 'd1', '1', '4', null, '1', '0', null);
INSERT INTO `xinhu_wordxie` VALUES ('4', '鍡殑鍛㈡祴璇', null, 'xlsx', '寮犻', '6', '2023-06-11 18:02:18', null, null, null, null, '1', '7', null, '1', '0', null);
+INSERT INTO `xinhu_wordxie` VALUES ('5', '娴嬭瘯', null, 'docx', '绠$悊鍛', '1', '2025-05-23 08:28:28', null, null, null, null, '1', '34', null, '1', '0', null);
+INSERT INTO `xinhu_wordxie` VALUES ('6', '琛ㄦ牸one', null, 'xlsx', '绠$悊鍛', '1', '2025-05-26 20:11:50', null, null, null, null, '1', '47', null, '1', '0', null);
-- ----------------------------
-- Table structure for `xinhu_work`
diff --git a/webmain/main/customer/rock_customer_index.php b/webmain/main/customer/rock_customer_index.php
index 2a954bc..ba9a270 100644
--- a/webmain/main/customer/rock_customer_index.php
+++ b/webmain/main/customer/rock_customer_index.php
@@ -59,7 +59,7 @@ $(document).ready(function(){
});
obj[3] = $('#view3_{rand}').bootstable({
- tablename:'custfina',params:{'atype':'myfkdwf'},modenum:'custfina',modename:'浠樻鍗',limit:5,moreurl:'flow,page,custfina,atype=myfkdwf,pnum=fkd',morenum:'num107',
+ tablename:'custfina',params:{'atype':'myfkdwf'},modenum:'custfinb',modename:'浠樻鍗',limit:5,moreurl:'flow,page,custfinb,atype=myfkdwf',morenum:'num107',
columns:[{
text:'鎵灞炴棩鏈',dataIndex:'dt'
},{
diff --git a/webmain/model/agent/agent.php b/webmain/model/agent/agent.php
index b3d7632..207a02f 100644
--- a/webmain/model/agent/agent.php
+++ b/webmain/model/agent/agent.php
@@ -92,6 +92,28 @@ class agentModel extends Model
$barr = $barr['rows'];
}
$arr['rows'] = $this->showrowsface($barr);
+
+ //鍚堣澶勭悊
+ if($this->moders && $arr['rows']){
+ $hjfields = arrvalue($this->moders, 'hjfields');
+ if(!isempt($hjfields)){
+ $htrows = m('base')->hjfieldsRows($arr['rowd'], $hjfields);
+ $bstr = '';
+ $farr = array();
+ foreach($this->flow->fieldsarra as $k=>$rs)$farr[$rs['fields']] = $rs['name'];
+ foreach($htrows as $k=>$v){
+ if(isset($farr[$k]) && $farr[$k]!='id'){
+ if($bstr)$bstr.="\n";
+ $bstr.=''.$farr[$k].'锛'.$v.'';
+ }
+ }
+ $arr['rows'][] = array(
+ 'cont' => $bstr,
+ 'optdt' => '鍚堣'
+ );
+ }
+ }
+
$arr['stotal'] = $this->agenttotals($uid);
unset($arr['rowd']);
return $arr;
diff --git a/webmain/model/baseModel.php b/webmain/model/baseModel.php
index 7526d53..40277c9 100644
--- a/webmain/model/baseModel.php
+++ b/webmain/model/baseModel.php
@@ -101,4 +101,60 @@ class baseClassModel extends Model
}
return $str;
}
+
+ /**
+ * 鍚堣澶勭悊
+ */
+ public function hjfieldsRows($rows, $hjfields)
+ {
+ $farr = explode('@', $hjfields);
+ $barr = array('id'=>0, 'colums_type'=>'hj');
+ foreach($farr as $fid){
+ if($fid){
+ $sbar = $this->hjfieldsRowss($rows, $fid);
+ foreach($sbar as $k=>$v)$barr[$k]=$v;
+ }
+ }
+ return $barr;
+ }
+ private function hjfieldsRowss($rows, $hjfields)
+ {
+ $tjval = 0;
+ $hjfid = $hjfields;
+ $slaox = false;
+ $xshu = 0;
+ if(contain($hjfields,':')){
+ $arr = explode(':', $hjfields);
+ $hjfid = $arr[0];
+ $hjfields = $arr[1];
+ $slaox = true;
+ if(isset($arr[2]))$xshu = floatval($arr[2]);
+ }
+ $strv = '';
+ foreach($rows as $k1=>$rs1){
+ if($slaox){
+ if($k1 > 0)$strv .= ' + ';
+ $strv .= '('.$this->rock->reparr($hjfields, $rs1).')';
+ }else{
+ $val = arrvalue($rs1, $hjfid);
+ if(isempt($val))$val='0';
+ $tjval += floatval($val);
+ if($xshu == 0){
+ $vals = ''.$val.'';
+ if(contain($vals, '.')){
+ $avla = explode('.', $vals);
+ if(isset($avla[1]))$xshu = strlen($avla[1]);
+ }
+ }
+ }
+ }
+ if($strv){
+ $tjval = eval('return '.$strv.';');
+ }
+ if($xshu > 0)$tjval = $this->rock->number($tjval, $xshu);
+ return array(
+ $hjfid => $tjval
+ );
+ }
+
}
\ No newline at end of file
diff --git a/webmain/model/flow/flow.php b/webmain/model/flow/flow.php
index cd712f9..13babb7 100644
--- a/webmain/model/flow/flow.php
+++ b/webmain/model/flow/flow.php
@@ -12,4 +12,4 @@
'.$this->urs['name'].'('.$this->urs['ranking'].') '.$this->urs['deptallname'].' |
- '; unset($fields['base_name']); unset($fields['base_deptname']); } $contvimr .= ''; foreach($fields as $f=>$n){ $vs = arrvalue($data, $f); if(!isempt($vs)){ if(substr($f,0,7)=='subdata'){ $contvimr .= ' |
'; }else{ $contvimr .= ''.str_replace(' ',' ',$n).' | 锛 | '.$vs.' |
'; } } } $contvimr .= '
'; } if(isempt($contview))$contview = $contvimr; $contview = str_replace('$contview$',$contvimr, $contview); } unset($farrobj); $arr['contview'] = $contview; $arr['readarr'] = m('log')->getreadarr($this->mtable, $this->id); $arr['isedit'] = $this->iseditqx(); $arr['isdel'] = $this->isdeleteqx(); $arr['isflow'] = $this->isflow; $arr['modename'] = $this->modename; $arr['ischehui'] = $this->ischehui(); $arr['statustext'] = $ztass[4]; $arr['statuscolor'] = $ztass[1]; $arr['optmenu'] = $this->getoptmenu(1); $arr['isgbjl'] = (int)$this->rock->arrvalue($this->moders,'isgbjl','0'); $arr['isgbcy'] = (int)$this->rock->arrvalue($this->moders,'isgbcy','0'); $receiptrs = false; $receiptrow = m('receipt')->getall("`modenum`='$this->modenum' and `mid`='$this->id' and `status`=1"); foreach($receiptrow as $k=>$hrs){ $uid1 = ','.$this->adminid.','; if(!contain(','.$hrs['receid'].',', $uid1))continue; if(!contain(','.$hrs['receids'].',', $uid1)){ $receiptrs = array( 'id' => $hrs['id'], 'optname' => $hrs['optname'], ); break; } } $arr['flowinfor'] = array(); $arr['readunarr'] = array(); $arr['receiptrs'] = $receiptrs; if($this->isflow>0){ $arr['flowinfor']= $this->getflowinfor(); if($arr['flowinfor']['ischeck']==1){ $arr['isplview']='0'; } } if(isset($data['title']))$arr['title'] = $data['title']; $_oarr = $this->flowdatalog($arr); if(is_array($_oarr))foreach($_oarr as $k=>$v)$arr[$k]=$v; $conta = $this->rock->matcharr($contview,2); $edbof = false; foreach($conta as $fids){ $thnr = ''; $contview = str_replace('`'.$fids.'`', $thnr, $contview); } $arr['contview'] = $contview; return $arr; } private function getsubdata($xu, $rows, $lx=0) { $iscz = 0; $iszb = $xu+1; $fields = 'subdata'.$xu.''; $subrows = $this->db->getrows('[Q]flow_element','`mid`='.$this->modeid.' and `iszb`='.$iszb.' and `iszs`=1','`fields`,`name`,`isalign`','`sort`'); $cont = ''; if($this->db->count > 0){ $iscz = 1; $headstr = '@xuhaos,,center'; $colorbb = getconfig('bcolorxiang', '#cccccc'); foreach($subrows as $k=>$rs){ $headstr.='@'.$rs['fields'].','.$rs['name'].''; if($rs['isalign']=='1')$headstr.=',left'; if($rs['isalign']=='2')$headstr.=',right'; } foreach($rows as $k=>$rs)$rows[$k]['xuhaos'] = $k+1; $slex = ($lx==0) ? 'noborder':''; if($this->subsubdatastyle!='')$slex = $this->subsubdatastyle; $cont = c('html')->createrows($rows, substr($headstr,1), $colorbb, $slex); } return $cont; } public function ischehui() { $is = 0; if($this->rs['status']==1 || $this->isflow==3)return $is; $where = "".$this->mwhere." and `valid`=1 order by `id` desc"; $rs = $this->flogmodel->getone($where); $sj = (int)getconfig('flowchehuitime','2'); $time = time()-$sj*3600; if($rs && $rs['status']=='1' && $rs['checkid']==$this->adminid && strtotime($rs['optdt'])>$time && ($rs['courseid']>0 || $rs['iszb']=='1' )) $is = $rs['id']; return $is; } public function chehui($sm='') { return $this->bd6('5peg5L!h5ZG8562!5o6I5peg5q2k5Yqf6IO9'); } public function bd6($str) { return $this->rock->jm->base64dencode($str); } public function getdataedit() { $fobj = m('file'); $arr['data'] = $this->flowrsreplaceedit($this->rssust); $arr['table'] = $this->mtable; $arr['tables'] = $this->moders['tables']; $arr['modeid'] = $this->modeid; $arr['isedit'] = $this->iseditqx(); $arr['isflow'] = $this->isflow; $arr['user'] = $this->urs; $arr['status'] = $this->rs['status']; $filers = $fobj->getfile($this->mtable,$this->id); foreach($filers as $fk=>$frs1)$filers[$fk]['thumbpath']=$fobj->getthumbpath($frs1); $arr['filers'] = $filers; $arr['subdata'] = $this->getsuballdata(); $filearr = array(); $fileids = ''; foreach($this->fieldsarr as $k=>$rs){ $fid = $rs['fields']; $flx = $rs['fieldstype']; if($flx=='uploadfile'){ $fval = arrvalue($this->rssust, $fid); if(!isempt($fval))$fileids.=','.$fval.''; } if($flx=='uploadimg'){ $arr['data'][''.$fid.'_view'] = $this->rock->gethttppath($arr['data'][$fid]); } } if($fileids!=''){ $frows = $fobj->getall('`id` in('.substr($fileids, 1).')','filename,id,filesizecn,fileext,optname,thumbpath,thumbplat'); foreach($frows as $k1=>$rs1){ $rs1['thumbpath'] = $fobj->getthumbpath($rs1); $filearr['f'.$rs1['id'].''] = $rs1; } } $arr['filearr'] = $filearr; $ztarr = $this->getnowstatus(); $arr['statustext'] = $ztarr[0]; $arr['statuscolor'] = $ztarr[1]; return $arr; } public function getflowinfor() { $ischeck = 0; $ischange= 0; $str = ''; $arr = $this->getflow(); if($arr['nowcheckid'] != $this->billrs['nowcheckid'])$this->getflowsave($arr, true); $nstatus = $this->rs['status']; $isturn = $this->rs['isturn']; $nowcheckid = ','.$arr['nowcheckid'].','; if($isturn==1 && $nstatus !=1 && contain($nowcheckid, ','.$this->adminid.',') && !in_array($nstatus, array(2,5))){ $ischeck = 1; } $logarr = $this->getlog(); $nowcur = $this->nowcourse; if(arrvalue($this->nextcourse,'checktype')=='change'){ $ischange = 1; } $sarr['ischeck'] = $ischeck; $sarr['ischange'] = $ischange; $sarr['nowcourse'] = $nowcur; $sarr['iszhuanban'] = 0; $sarr['ischao'] = 0; $sarr['nextcourse'] = $this->nextcourse; $sarr['nstatustext'] = $arr['nstatustext']; if($isturn==0)$sarr['nstatustext'] = '寰呮彁浜'; $_checkfields = arrvalue($nowcur,'checkfields'); $checkfields = array(); if($ischeck == 1 && !isempt($_checkfields)){ $_checkfieldsa = explode('|', $_checkfields); $_checkfields = join(',',$_checkfieldsa); $_checkxuant = arrvalue($_checkfieldsa, 1); $inputobj = c('input'); $inputobj->flow = $this; $inputobj->mid = $this->id; $inputobj->urs = $this->urs; $elwswhere = "`mid`='$this->modeid' and `iszb`=0 and instr(',$_checkfields,', concat(',',`fields`,','))>0"; $infeidss = $inputobj->initFields($elwswhere); foreach($infeidss as $_fs=>$fsva){ $_sfes = $fsva['fields']; $_type = $fsva['fieldstype']; $showinpus = 1; $isbt = 1; if($_checkxuant && contain(','.$_checkxuant.',',','.$_sfes.','))$isbt=0; if($_type=='hidden' || $_type=='fixed')$showinpus=2; $_val = arrvalue($this->rssust, $_sfes); $cheo = (substr($_type,0,6)=='change' && !isempt($fsva['data'])); if($cheo)$_val.='|'.arrvalue($this->rssust, $fsva['data']).''; $checkfields[$_sfes] = array( 'inputstr' => $inputobj->getfieldcontval($_sfes, $_val), 'name' => $fsva['name'], 'isbt' => $isbt, 'fieldstype'=> $_type, 'fieldsarr' => $fsva, 'showinpus' => $showinpus ); if($cheo){ $_sfes = $fsva['data']; $checkfields[$_sfes] = array( 'inputstr' => '', 'isbt' => $isbt, 'name' => $fsva['name'].'id', 'fieldstype'=> $_type, 'fieldsarr' => false, 'showinpus' => 2 ); } } } $sarr['checkfields'] = $checkfields; if($nstatus==2)$sarr['nstatustext'] ='寰呮彁浜や汉澶勭悊('.$this->urs['name'].')'; $loglen = count($logarr); foreach($logarr as $k=>$rs){ if($rs['courseid']>0){ $sty = ''; $col = $rs['color']; if($str!='')$str.=' 鈫 '; $str.=''.$rs['actname'].'('.$rs['name'].''.$rs['statusname'].')'; } } if($nstatus=='2'){ if($str!='')$str.=' 鈫 '; $str.= $sarr['nstatustext']; }else if($nstatus=='5'){ if($str!='')$str.=' 鈫 '; $sarr['nstatustext'] = '宸蹭綔搴'; $str.= '宸蹭綔搴'; }else{ foreach($this->flowarr as $k=>$rs){ if($rs['ischeck']==0){ $sty = 'color:#888888'; if($rs['isnow']==1)$sty='font-weight:bold;color:#800000'; if($str!='')$str.=' 鈫 '; $str.=''.$rs['name'].''; if(!isempt($rs['nowcheckname']))$str.='('.$rs['nowcheckname'].')'; $str.=''; } } } $sarr['flowcoursestr'] = $str; if($nstatus==1)$sarr['nstatustext'] = $this->getnowstatus(1); $actstr = ',鍚屾剰|green,涓嶅悓鎰弢red'; if(isset($nowcur['courseact']) ){ $actstrt = $nowcur['courseact']; if(!isempt($actstrt))$actstr = ','.$actstrt; } $act = c('array')->strtoarray($actstr); foreach($act as $k=>$as1)if($k>0 && $as1[0]==$as1[1])$act[$k][1]=''; if(arrvalue($this->moders,'isys')=='1' && (int)arrvalue($nowcur,'mid','0')>=0){ $act[25]= array('鍓嶅姞绛','',''); $act[26]= array('鍚庡姞绛','',''); } $sarr['courseact'] = $act; $nowstatus = $this->rs['status']; if($this->isflow>0 && $this->rs['isturn']==0)$nowstatus=3; $sarr['nowstatus'] = $nowstatus; $step = $this->rock->arrvalue($nowcur, 'step','0'); $tuicourse = $this->flogmodel->getall($this->mwhere.' and `courseid`>0 and `valid`=1 and `status`=1 and `step`<'.$step.'','`id`,`checkname`,`name`','`step` desc'); $sarr['tuicourse'] = $tuicourse; return $sarr; } public function updatestatus($zt) { $this->update('`status`='.$zt.'', $this->id); $this->billmodel->update('`status`='.$zt.'', $this->mwhere); } public function getstatusarr() { return $this->getstatus(null, '','',2); } public function getstatus($rs, $statusstr='',$other='', $glx=0) { $statustext = $statuscolor = ''; if($statusstr=='')$statusstr=$this->rock->arrvalue($this->moders,'statusstr'); $statusara = array(); $colorsa = array('blue','green','red','#ff6600','#526D08','#888888','','','','','','','','','','','','',''); if(isempt($statusstr)){ $statussst = '涓嶅悓鎰'; $statusstr = '寰?澶勭悊|blue,宸插鏍竱green,'.$statussst.'|red'; } $nowcheckname= arrvalue($rs,'nowcheckname', arrvalue($this->billrs,'nowcheckname')); if(isempt($other))$other = $nowcheckname; $statusar = c('array')->strtoarray($statusstr); foreach($statusar as $k=>$v){ if($v[0]==$v[1])$v[1]= arrvalue($colorsa, $k); $statusara[$k] = $v; } $statusara[5] = array('宸蹭綔搴','#888888'); $statusara[23] = array('閫鍥','#17B2B7'); if($glx==2)return $statusara; $isturn = -1; if(isset($rs['isturn']))$isturn = (int)$rs['isturn']; $zt = $this->rock->arrvalue($rs, 'status'); if($isturn==0){ $statustext = '寰呮彁浜'; $statuscolor= '#ff6600'; }elseif(!isempt($zt)){ if(isset($statusara[$zt])){ $statustext = $statusara[$zt][0]; $statuscolor = $statusara[$zt][1]; } } if(contain($statustext,'?')){ $statusstr = str_replace('?', ''.$other.'', $statustext); }else{ $statusstr = ''.$statustext.''; } if($glx==1){ return $statusstr; } return array(str_replace('?', $other, $statustext), $statuscolor, $zt, $statusstr, str_replace('?', '', $statustext)); } public function getstatusstr($rs) { return $this->getstatus($rs, '','', 1); } public function getnowstatus($glx=0) { return $this->getstatus($this->rs, '','', $glx); } private $getlogrows = array(); public function getlog($lx=0) { if(isset($this->getlogrows[$lx]))return $this->getlogrows[$lx]; $rows = $this->flogmodel->getrows($this->mwhere, '`checkname` as `name`,`checkid`,`name` as actname,`optdt`,`status`,`explain`,`statusname`,`valid`,`courseid`,`color`,`id`,`qmimg`','`id` asc'); $uids = $idss = ''; $dts = c('date'); $fo = m('file'); $editarrs = array(); foreach($rows as $k=>$rs){ $uids.=','.$rs['checkid'].''; $idss.=','.$rs['id'].''; $col = $rs['color']; if(isempt($col))$col='green'; if(contain($rs['statusname'],'涓') || $rs['status']=='2')$col='red'; $rows[$k]['color'] = $col; $rows[$k]['checkdt'] = $rs['optdt']; $rows[$k]['sm'] = str_replace("\n",'
', (string)$rs['explain']); $rows[$k]['explain'] = $rows[$k]['sm']; if(!isempt($rs['qmimg'])){ if(!contain($rs['qmimg'],'.')){ $qmimg = ''.UPDIR.'/'.date('Y-m').'/qmimg'.$rs['id'].'.png'; $bo = true; if(!file_exists($qmimg)){ $bar= explode(',', $rs['qmimg']); $bo = $this->rock->createtxt($qmimg, base64_decode($bar[1])); } if(!$bo){ $qmimg = $rs['qmimg']; }else{ $qmimg = ''.URL.''.$qmimg.''; } }else{ $qmimg = $rs['qmimg']; if(!file_exists($qmimg)){ $qmimg = ''; }else{ $qmimg = ''.URL.''.$qmimg.''; } } $rows[$k]['qmimg'] = $qmimg; if(!isempt($qmimg))$rows[$k]['explain']= '
'.$rs['explain'].''; } } if($idss!=''){ $farr = $fo->getfile($this->flowlogtable, substr($idss, 1)); if($farr)foreach($rows as $k=>$rs){ $fstr = $fo->getallstr($farr, $rs['id'],2); $rows[$k]['explain']= $this->strappend($rs['explain'], $fstr, '
'); } } if($uids!=''){ $rows = m('admin')->getadmininfor($rows, substr($uids, 1), 'checkid'); } $this->getlogrows[$lx] = $rows; return $rows; } public function addlog($arr=array()) { $addarr = array( 'table' => $this->mtable, 'mid' => $this->id, 'checkname' => $this->adminname, 'checkid' => $this->adminid, 'optdt' => $this->rock->now, 'courseid' => '0', 'status' => '1', 'ip' => $this->rock->ip, 'web' => $this->rock->web, 'modeid' => $this->modeid ); foreach($arr as $k=>$v)$addarr[$k]=$v; if(isset($addarr['explain']))$addarr['explain']= htmlspecialchars($addarr['explain']); $this->flogmodel->insert($addarr); $ssid = $this->db->insert_id(); $fileid = $this->rock->post('fileid'); if($fileid!='')m('file')->addfile($fileid, $this->flowlogtable, $ssid, $this->modenum.'|'.$this->id); $logfileid = $this->rock->post('logfileid'); if($logfileid!='')m('file')->addfile($logfileid, $this->flowlogtable, $ssid, $this->modenum.'|'.$this->id); $addarr['id'] = $ssid; $this->flowaddlog($addarr); $this->getlogrows = array(); return $ssid; } public function submit($na='', $sm='') { if($na=='')$na='鎻愪氦'; $isturn = 1; if($na=='淇濆瓨')$isturn = 0; $this->addlog(array( 'name' => $na, 'explain' => $sm )); if($this->isflow>0){ $marr['isturn'] = $isturn; $marr['status'] = 0; $this->rs['status'] = 0; $this->update($marr, $this->id); if(arrvalue($this->moders,'isflowlx')=='1' || $this->isflow>=3){ $this->checksmodel->delete($this->mwhere); $this->flogmodel->update('`valid`=0', ''.$this->mwhere.' and `courseid`>0 and `valid`=1'); } $farr = $this->getflow(); if($farr['nowcourseid']>0){ $sysnextoptid = $this->rock->post('sysnextoptid'); $sysnextopt = $this->rock->post('sysnextopt'); $sysnextcustidid = (int)$this->rock->post('sysnextcustidid'); if($sysnextcustidid == $farr['nowcourseid'] && !isempt($sysnextoptid) && !isempt($sysnextopt)){ $this->addcheckname($sysnextcustidid, $sysnextoptid, $sysnextopt, true, 1); $farr = $this->getflow(); } } $farr['status'] = 0; $this->savebill($farr); if($isturn == 1){ $this->nexttodo($farr['nowcheckid'],'submit'); } } $this->flowsubmit($na, $sm); $this->savecsname( $this->rock->post('syschaosongid'), $this->rock->post('syschaosong'), $this->adminid,0,$isturn,$na); if($na=='缂栬緫'){ $this->gettodosend('boedit'); }else{ $this->gettodosend('boturn'); } } private function savecsname($csnameid,$csname,$uid,$type,$isturn, $na) { if(!isempt($csnameid)){ $where = $this->mwhere.' and `type`='.$type.''; if($type>0)$where.=' and `uid`='.$uid.''; $csid = (int)$this->chaomodel->getmou('id', $where); if($csid==0)$where = ''; $this->chaomodel->record(array( 'modeid' => $this->modeid, 'table' => $this->mtable, 'mid' => $this->id, 'uid' => $uid, 'type' => $type, 'csname' => $csname, 'csnameid' => $csnameid, ),$where); if($isturn==1)$this->nexttodo($csnameid,'chao', $na); } } public function getcsname($id=0) { if($id>0){ $where= "`table`='$this->mtable' and `mid`='$id' and `type`=0"; }else{ $where= "`modeid`={$this->modeid} and `uid`={$this->adminid} and `type`=0"; $iscs = (int)$this->moders['iscs']; } $ors = $this->chaomodel->getone($where,'*','`id` desc'); $csname = $csnameid = ''; if($ors){ $csname = $ors['csname']; $csnameid = $ors['csnameid']; } return array( 'csname' => $csname, 'csnameid' => $csnameid, 'id' => $id, ); } public function zhuijiaexplain($sm='') { $this->addlog(array( 'explain' => $sm, 'name' => '杩藉姞璇存槑', 'status' => 1, )); $zt = $this->rs['status']; if($zt==2 && $this->isflow>0 && $this->adminid==$this->uid){ $marr['status'] = 0; $this->rs['status'] = 0; $this->update($marr, $this->id); $farr = $this->getflow(); $farr['status'] = 0; $this->savebill($farr); $this->nexttodo($farr['nowcheckid'],'zhui', $sm); } $this->gettodosend('bozhui','', $sm); } public function chuiban($sm='') { $this->addlog(array( 'explain' => $sm, 'name' => '鍌姙', 'status' => 1, )); $farr = $this->getflow(true); $this->nexttodo($farr['nowcheckid'],'cuiban', $sm); $this->gettodosend('cuiban','', $sm); } public function getyushen($rows) { return $rows; } private function getyushenss($id, $rows, $xu, $isq) { if($xu==0)$this->_tempauoe = array(); if(isset($rows[$id])){ $_tars = $rows[$id]; if($isq==1)$this->getyushenss($_tars['id'], $rows, $xu+1, $isq); $this->_tempauoe[] = $_tars; if($isq==0)$this->getyushenss($_tars['id'], $rows, $xu+1, $isq); } return $this->_tempauoe; } public function getflowpipei($uid=0) { $urs = $this->urs; if(!$urs)$urs = $uid; if(!is_array($urs))$urs = $this->db->getone('[Q]admin', "`id`='$urs'", '`deptid`,`deptpath`,`id`'); $coursedb = m('flowcourse'); $barr = $coursedb->pipeiCourse($this->modeid); $rows = $barr['rows']; $this->pipeiCoursearrc = $barr['rowd']; $this->pipeiCoursearrs = array(); $this->pipeiCoursearr = array(); $kqobj = m('kaoqin'); $this->getflowpipeis($rows, $urs, $kqobj); unset($this->pipeiCoursearrs); unset($this->pipeiCoursearrc); return $this->getyushen($this->pipeiCoursearr); } private function getflowpipeis($rows,$urs, $kqobj) { $shiyong = array(); $defix = $xuhao = 0; $uid = arrvalue($urs,'id',0); $zshu = count($rows); foreach($rows as $k=>$rs){ $whereid = (int)$rs['whereid']; $receid = $rs['receid']; $wherestr= arrvalue($rs, 'where'); if($rs['status']=='0')continue; if(!isempt($wherestr)){ $wherestr = m('base')->strreplace($this->rock->jm->base64decode($wherestr), $uid); $to = $this->rows("`id`='$this->id' and $wherestr "); if($to==0)continue; } if($whereid > 0){ $bo = $this->wheremanzhu($whereid); if(!$bo)continue; } if(!isempt($rs['num'])){ $bo = $this->flowcoursejudge($rs['num'], $rs); if(is_bool($bo) && !$bo)continue; } $xuhao++; if($defix==0 && (isempt($receid) || contain($receid,'all'))){ $defix = $xuhao; } if(isempt($receid) && (!isempt($wherestr) || $whereid > 0)){ $defix = $xuhao; } $rs['xuhao'] = $xuhao; $shiyong[] = $rs; } $pboss = false; if($shiyong){ $gxuha = $kqobj->getpipeimid($urs, $shiyong, 'xuhao', $defix); if($gxuha>0){ $pboss = true; $gxuha = $gxuha-1; $prs = $shiyong[$gxuha]; $this->getflowpipeisss($prs, $urs, $kqobj); } } if(!$pboss && $zshu==1 && $rows[0]['childshu']>0){ $this->getflowpipeis($rows[0]['children'], $urs, $kqobj); } } private function getflowpipeisss($prsnrs, $urs, $kqobj) { $prs = $prsnrs; unset($prs['children']); $this->pipeiCoursearrs[]= $prs['id']; $this->pipeiCoursearr[] = $prs; if($prs['childshu']>0){ $this->getflowpipeis($prsnrs['children'], $urs, $kqobj); }else{ $nid = arrvalue($prs,'nid','0'); if($nid>0 && !in_array($nid, $this->pipeiCoursearrs) && isset($this->pipeiCoursearrc, $nid)){ $this->getflowpipeis(array($this->pipeiCoursearrc[$nid]), $urs, $kqobj); } } } public function getflow($sbo=false) { $this->flowarr = array(); $allcheckid = $nowcheckid = $nowcheckname = $nstatustext = ''; $allcheckids = array(); $nowcourseid = 0; $nstatus = $this->rs['status']; $this->nowcourse = array(); $this->nextcourse = array(); $this->flowisend = 0; $curs = $this->flogmodel->getrows($this->mwhere,'checkid,checkname,courseid,`valid`,`status`,`statusname`,`name`,`iszb`','id desc'); $cufss = $ztnas = $chesarr = array(); foreach($curs as $k=>$rs){ if($rs['iszb']=='1' && !in_array($rs['checkid'], $allcheckids))$allcheckids[] = $rs['checkid']; if($rs['courseid']=='0')continue; $_su = ''.$rs['courseid'].''; $_su1 = ''.$rs['courseid'].'_'.$rs['checkid'].''; if($rs['valid']==1 && in_array($rs['status'], $this->flowstatusarr)){ if(!isset($cufss[$_su]))$cufss[$_su]=0; $cufss[$_su]++; $chesarr[$_su1] = 1; } if(!in_array($rs['checkid'], $allcheckids))$allcheckids[] = $rs['checkid']; if($nstatustext=='' && $rs['courseid']>0){ $nstatustext = ''.$rs['checkname'].'澶勭悊'.$rs['statusname'].''; $nstatus = $rs['status']; } $ztnas[$rs['courseid']] = ''.$rs['checkname'].''.$rs['statusname'].''; } $nowstep = $zongsetp = -1; $isend = 0; $czt = $this->rs['status']; $coutye = 0; $rows = ($czt==1 || $czt==5)? array() : $this->getflowpipei($this->uid); if($rows){ $checksa = $this->checksmodel->getrows($this->mwhere.' and `addlx`=3'); $coursea = $nrows = array(); foreach($checksa as $k=>$rs)$coursea[$rs['courseid']]='1'; $nrows = array(); $allcheckid = ''; $isoptsuperbo = false; foreach($rows as $k=>$rs){ $uarr = $this->getcheckname($rs); $rows[$k]['checkid'] = $uarr[0]; $rows[$k]['checkname'] = $uarr[1]; $allcheckid .= ','.$uarr[0].''; if($rs['checktype']=='optsuper' && isempt($uarr[0]))$isoptsuperbo=true; } if($isoptsuperbo)foreach($rows as $k=>$rs){ if($rs['checktype']=='optsuper'){ $_k1 = $k-1; $_uid = $this->optid; if($_k1>=0){ $ours = $this->flogmodel->getone($this->mwhere.' and `courseid`='.$rows[$_k1]['id'].' and `valid`=1 ','`checkid`','`id` desc'); if(!$ours){ $_uid = (int)$rows[$_k1]['checkid']; }else{ $_uid = $ours['checkid']; } } $uarr = $this->adminmodel->getsuperman($_uid); if($uarr){ $rows[$k]['checkid'] = $uarr[0]; $rows[$k]['checkname'] = $uarr[1]; } } } foreach($rows as $k=>$rs){ $nrows[] = $rs; if($rs['checktype']=='superall'){ $ids1 = $rs['id']; $suparr = $this->adminmodel->getsuperarr($this->uid); if($suparr){ $logdsar = $this->getlog(); foreach($logdsar as $k1=>$rs1){ if($rs1['courseid']>0 && $rs1['status']=='1' && $rs1['valid']=='1')$allcheckid .= ','.$rs1['checkid'].''; } foreach($suparr as $k1=>$surs){ if(!contain(','.$allcheckid.',', ','.$surs['id'].',')){ $rs['oldid'] = $ids1; $rs['id'] = $ids1 * 99999 + $surs['id']; $rs['checkid'] = $surs['id']; $rs['checkname'] = $surs['name']; $rs['iszf'] = 0; $nrows[] = $rs; $allcheckid .= ','.$surs['id'].''; } } } } } $yisheh = ''; if($this->isflow==2){ $logdsar = $this->getlog(); foreach($logdsar as $k1=>$rs1) if($rs1['courseid']>0 && $rs1['status']==1 && $rs1['valid']==1)$yisheh .= ','.$rs1['checkid'].''; } foreach($nrows as $k=>$rs){ $whereid = (int)$rs['whereid']; $checkshu = $rs['checkshu']; $checkid = $rs['checkid']; $checkname = $rs['checkname']; $checktype = $rs['checktype']; if($this->isflow==2 && !isempt($checkid) && isempt($rs['checkfields'])){ if(($checkid==$this->uid || $checkid==$this->optid) )continue; $k2 = $k+1; $ntype = 'yes'; if(isset($nrows[$k2])){ if($nrows[$k2]['checktype']=='change')$ntype='no'; } if($ntype=='yes' && contain(','.$yisheh.',',','.$checkid.','))continue; } if(!isempt($checkid))$yisheh .= ','.$checkid.''; $zongsetp++; $ischeck = 0; $checkids = $checknames = ''; $_su = ''.$rs['id'].''; $nowshu = 0; if(isset($cufss[$_su]))$nowshu = $cufss[$_su]; if(!$this->isempt($checkid)){ $checkida = explode(',', $checkid); $checkidna = explode(',', $checkname); $_chid = $_chna = ''; foreach($checkida as $k1=>$chkid){ $_su1 = ''.$rs['id'].'_'.$chkid.''; if(!in_array($chkid, $allcheckids))$allcheckids[] = $chkid; if(!isset($chesarr[$_su1])){ $_chid.=','.$chkid.''; $_chna.=','.arrvalue($checkidna, $k1).''; } } if($_chid!='')$_chid = substr($_chid, 1); if($_chna!='')$_chna = substr($_chna, 1); if($_chid==''){ $ischeck = 1; }else{ if($checkshu>0&&$nowshu>=$checkshu)$ischeck = 1; } $checkids = $_chid; $checknames = $_chna; }else{ if($checkshu>0&&$nowshu>=$checkshu)$ischeck = 1; if($checkshu == 0 && $nowshu>0)$ischeck = 1; } if($ischeck==0 && $coutye==0){ if((int)arrvalue($rs,'coursetype','0')>0)$coutye = 1; } $rs['ischeck'] = $ischeck; $rs['islast'] = 0; $rs['checkid'] = $checkid; $rs['checkname'] = $checkname; $rs['nowcheckid'] = $checkids; $rs['nowcheckname'] = $checknames; $rs['isnow'] = 0; $rs['nowstep'] = $zongsetp; $rs['step'] = $k+1; if($ischeck==0 && $nowstep==-1){ $rs['isnow']= 1; $nowstep = $zongsetp; $this->nowcourse = $rs; $nowcourseid = $rs['id']; $nowcheckid = $checkids; $nowcheckname = $checknames; } if($nowstep>-1 && $zongsetp==$nowstep+1)$this->nextcourse = $rs; $this->flowarr[]= $rs; } } if($zongsetp>-1)$this->flowarr[$zongsetp]['islast']=1; if($nowstep == -1){ $isend = 1; }else{ $nstatustext = '寰'.$nowcheckname.'澶勭悊'; } $this->flowisend = $isend; $allcheckid = join(',', $allcheckids); $arrbill['allcheckid'] = $allcheckid; $arrbill['nowcourseid'] = $nowcourseid; $arrbill['nowcheckid'] = $nowcheckid; $arrbill['nowcheckname'] = $nowcheckname; $arrbill['nstatustext'] = $nstatustext; $arrbill['nstatus'] = $nstatus; $arrbill['status'] = $this->rs['status']; $arrbill['isturn'] = $this->rs['isturn']; if($sbo)$this->getflowsave($arrbill); return $arrbill; } public function wheremanzhu($id) { $uid = $this->uid; $ser = $this->wheremodel->getflowwhere($id, $uid); if(!$ser)return true; $str = $ser['ntr']; if(!isempt($str)){ $to = $this->db->rows('[Q]admin',"`id`='$uid' and ($str)"); if($to>0)return false; } $str = $ser['str']; if(!isempt($str)){ $str= str_replace('{asqom}','', $str); $to = $this->rows("`id`='$this->id' and $str"); if($to==0)return false; } $str = $ser['utr']; if(!isempt($str)){ $to = $this->db->rows('[Q]admin',"`id`='$uid' and $str"); if($to==0)return false; } return true; } public function getflowsave($sarr, $suvu=false) { if(!$sarr)return; if($suvu)$sarr['updt'] = $this->rock->now; $this->billmodel->update($sarr, $this->mwhere); } private function getcheckname($crs) { $type = $crs['checktype']; $cuid = $name = ''; $courseid= $crs['id']; $cheorws = $this->checksmodel->getall($this->mwhere.' and `courseid`='.$courseid.'','checkid,checkname'); if($cheorws){ foreach($cheorws as $k=>$rs){ $lxss = $rs['checkid']; if(isempt($lxss) || $lxss=='0')continue; $cuid.=','.$lxss.''; $name.=','.$rs['checkname'].''; } if($cuid != ''){ $cuid = substr($cuid, 1); $name = substr($name, 1); return array($cuid, $name); } } if(!$this->isempt($crs['num'])){ $uarr = $this->flowcheckname($crs['num']); if(is_array($uarr)){ if(!$this->isempt($uarr[0]))return $uarr; } } if($type=='super' || $type=='superall'){ $cuid = $this->urs['superid']; $name = $this->urs['superman']; } if($type=='dept' || $type=='super' || $type=='superall'){ if($this->isempt($cuid) && $this->drs){ $cuid = $this->drs['headid']; $name = $this->drs['headman']; } } if($type=='apply'){ $cuid = $this->urs['id']; $name = $this->urs['name']; } if($type=='opt'){ $cuid = $this->rs['optid']; $name = $this->rs['optname']; if(isempt($cuid)){ $cuid = $this->urs['id']; $name = $this->urs['name']; } } if($type=='user'){ $cuid = $crs['checktypeid']; $name = $crs['checktypename']; } if($type=='rank'){ $rank = $crs['checktypename']; if(!$this->isempt($rank)){ $wheer1 = $this->adminmodel->getcompanywhere(5,'',$this->companyid); $rnurs = $this->db->getrows('[Q]admin',"`status`=1 and `ranking`='$rank' ".$wheer1."",'id,name','sort'); foreach($rnurs as $k=>$rns){ $cuid.=','.$rns['id'].''; $name.=','.$rns['name'].''; } if($cuid != ''){ $cuid = substr($cuid, 1); $name = substr($name, 1); } } } if($type=='cname'){ $cnbar = $this->cnamemodel->getcheckname($crs['checktypeid'], $this->uid); $cuid = arrvalue($cnbar, 0); $name = arrvalue($cnbar, 1); } if($type=='field'){ $fids = $crs['checktypeid']; if(!isempt($fids)){ $vals = ''; $farrs= explode(',', $fids); foreach($farrs as $fid){ $vid = arrvalue($this->rs, $fid); if(!isempt($vid))$vals.=','.$vid.''; } if($vals!=''){ $vals = substr($vals, 1); $uarr = $this->adminmodel->getrows('`status`=1 and `id` in('.$vals.')','id,name','FIELD(`id`,'.$vals.')'); foreach($uarr as $k=>$rs){ $cuid.=','.$rs['id'].''; $name.=','.$rs['name'].''; } if($cuid != ''){ $cuid = substr($cuid, 1); $name = substr($name, 1); } } } } $cuid = $this->rock->repempt($cuid); $name = $this->rock->repempt($name); return array($cuid, $name); } public function createbianhao($num, $fid, $wshu=3) { if(isempt($num))$num=''.$this->modenum.'-'; @$appdt = $this->rs['applydt']; if(isempt($appdt))$appdt = $this->rock->date; $apdt = str_replace('-','', substr($appdt,0,10)); $num = str_replace('Ymd',$apdt,$num); return $this->db->sericnum($num,'[Q]'.$this->mtable.'', $fid, $wshu); } public function createinputnum($num, $fid) { $acta = ''; if(method_exists($this, $num)){ $acta = $num; }else{ if(contain($num, ',')){ $arra = explode(',', $num); $acta = $arra[0]; $num = $arra[1]; } } if($acta && method_exists($this, $acta)){ $barr = $this->$acta($num); if(is_array($barr)){ $qom = arrvalue($barr, 'qom', $num); $wshu= arrvalue($barr, 'wshu', 3); $bom = arrvalue($barr, 'bom'); $fields = arrvalue($barr, 'fields', $fid); return $this->createbianhao($qom, $fields, $wshu).$bom; }else{ if(isempt($barr))$barr = $num; return $this->createbianhao($barr, $fid); } }else{ return $this->createbianhao($num, $fid); } } public function createnum() { $num = $this->moders['sericnum']; if($num=='鏃'||$this->isempt($num))$num='TM-Ymd-'; @$appdt = $this->rs['applydt']; if(isempt($appdt))$appdt = $this->rock->date; $apdt = str_replace('-','', $appdt); $num = str_replace('Ymd',$apdt,$num); return $this->db->sericnum($num,'[Q]flow_bill', 'sericnum', 3); } public function savebill($oarr=array()) { $dbs = $this->billmodel; $whes= $this->mwhere; $birs= $dbs->getone($whes); $arr = array( 'table' => $this->mtable, 'mid' => $this->id, 'optdt' => isset($this->rs['optdt']) ? $this->rs['optdt'] : $this->rock->now, 'optname' => arrvalue($this->rs,'optname', $this->adminname), 'optid' => arrvalue($this->rs,'optid', $this->adminid), 'modeid' => $this->modeid, 'updt' => $this->rock->now, 'isturn' => $this->rs['isturn'], 'nstatus' => $this->rs['status'], 'applydt' => $this->rs['applydt'], 'modename' => $this->modename, 'uname' => $this->rs['base_name'], 'udeptname' => $this->rs['base_deptname'], 'uid' => $this->uid, 'isdel' => '0', ); foreach($oarr as $k=>$v)$arr[$k]=$v; if(!$birs){ $arr['status'] = $arr['nstatus']; $arr['createdt']= $arr['optdt']; $arr['sericnum']= $this->createnum(); $arr['udeptid'] = $this->rock->post('sysudeptid', arrvalue($this->urs,'deptid')); $whes = ''; $this->sericnum = $arr['sericnum']; }else{ $udeptid = $birs['udeptid']; if($udeptid==0)$arr['udeptid']= arrvalue($this->urs,'deptid'); } $fstr = $this->rock->post('sysflow5str'); if($fstr)$arr['flow5str'] = $fstr; $dbs->record($arr, $whes); return $arr; } public function getsummary() { return $this->rock->reparr($this->moders['summary'], $this->rs); } public function addcheckname($courseid, $uid, $uname, $onbo=false, $addlx=0) { if(isempt($uid)){$uid = '0';$uname= 'auto';} $uida = explode(',', ''.$uid.''); $uidan = explode(',', $uname); if($onbo)$this->checksmodel->delete($this->mwhere.' and `courseid`='.$courseid.''); if($uida)foreach($uida as $k=>$uid){ $uname = $this->rock->arrvalue($uidan, $k); $zyarr = array( 'table' => $this->mtable, 'mid' => $this->id, 'modeid' => $this->modeid, 'courseid' => $courseid, 'optid' => $this->adminid, 'optname' => $this->adminname, 'addlx' => $addlx, 'optdt' => $this->rock->now, 'status' => 0 ); $this->checksmodel->delete($this->mwhere.' and `checkid`='.$uid.' and `courseid`='.$courseid.''); $zyarr['checkid'] = $uid; $zyarr['checkname'] = $uname; $this->checksmodel->insert($zyarr); } if($addlx==4)$this->checksmodel->delete($this->mwhere.' and `checkid`='.$this->adminid.' and `courseid`='.$courseid.''); } public function savedatastr($fval, $farr, $data=array()) { $str = ''; if(!$farr)return $str; $savewhere = $farr['savewhere']; $name = $farr['name']; $types = $farr['fieldstype']; if(isempt($savewhere) || isempt($fval))return $str; $savewhere = str_replace(array('{0}','{date}','{now}'), array($name, $this->rock->date,$this->rock->now), $savewhere); $savewhere = $this->rock->reparr($savewhere, $data); $saees = explode(',', $savewhere); if($types=='date' || $types=='datetime')$fval = strtotime($fval); if($types=='number')$fval = floatval($fval); foreach($saees as $saeess){ $fsaed = explode('|', $saeess); $msg = isset($fsaed[2]) ? $fsaed[2] : ''.$name.'鏁版嵁涓嶇鍙'; $val = isset($fsaed[1]) ? $fsaed[1] : ''; $lfs = $fsaed[0]; if($val != ''){ if($types=='date' || $types=='datetime')$val = strtotime($val); if($types=='number')$val = floatval($val); if($lfs=='gt'){$bo = $fval>$val;if(!$bo)return $msg;} if($lfs=='egt'){$bo = $fval>=$val;if(!$bo)return $msg;} if($lfs=='lt'){$bo = $fval<$val;if(!$bo)return $msg;} if($lfs=='elt'){$bo = $fval<=$val;if(!$bo)return $msg;} if($lfs=='eg'){$bo = $fval==$val;if(!$bo)return $msg;} if($lfs=='neg'){$bo = $fval!=$val;if(!$bo)return $msg;} } } return $str; } public function update($arr, $where) { if(is_array($arr)){ foreach($arr as $k=>$v)$this->rs[$k]=$v; } return parent::update($arr,$where); } public function updatelogvalid($whe) { $this->flogmodel->update('valid=0', $this->mwhere.' '.$whe); } public function strappend($sm, $str, $fh=',') { if(isempt($str))return $sm; if(!isempt($sm))$sm.=$fh; $sm.=$str; return $sm; } public function checkerror($lx=1,$sm='') { if($sm=='')$sm='鍗曟嵁寮傚父绠$悊鍛樺鐞'; $msg = $this->check($lx, $sm, 1); return $msg; } public function check($zt, $sm='', $lx=0) { if($this->rs['status']==1)return '娴佺▼宸插鐞嗗畬鎴,鏃犻渶鎿嶄綔'; $arr = $this->getflow(); $flowinfor = $this->getflowinfor(); if($flowinfor['ischeck']==0 && $lx==0)return '褰撳墠鏄痆'.$arr['nowcheckname'].']澶勭悊'; $nowcourse = $this->nowcourse; if($lx==1){ if($arr['nowcourseid']!=0)return '褰撳墠鏈夊鏍告楠D鏄瓨鍦ㄧ殑涓嶈兘鐩存帴鏍囪瘑宸插畬鎴'; $to = $this->flogmodel->rows($this->mwhere.' and `courseid`>0 and `status`=1'); if($to==0)return '璇ュ崟鎹病鏈変换浣曢氳繃瀹℃牳澶勭悊涓嶈兘鐩存帴鏍囪瘑宸插畬鎴愭垨宸插鏍'; $nowcourse = array('id'=>66666,'name'=>'寮傚父澶勭悊','step'=>0); } $nextcourse = $this->nextcourse; $zynameid = $this->rock->post('zynameid'); $zyname = $this->rock->post('zyname'); $csnameid = ''; $csname = ''; $nextname = $this->rock->post('nextname'); $nextnameid = $this->rock->post('nextnameid'); $qmimgstr = $this->rock->post('qmimgstr'); $tuiid = (int)$this->rock->post('tuiid'); $iszhuanyi = $ischangenext = 0; if($zt==1 && $this->isflow!=3 && isempt($zynameid) && arrvalue($nextcourse,'checktype')=='change'){ $ischangenext = 1; } if($zt!=2)$tuiid = 0; $istongyi = in_array($zt, $this->flowstatusarr); if($zynameid!='' && $istongyi){ if($zynameid==$this->adminid)return '涓嶈兘杞粰鑷繁'; $sm = $this->strappend($sm, '杞粰锛'.$zyname.''); $iszhuanyi = 1; $this->rs['syszb_name'] = $zyname; $this->rs['syszb_nameid'] = $zynameid; } if($nextnameid=='' && $ischangenext==1)return '璇烽夋嫨涓嬩竴姝ュ鐞嗕汉'; $ufied = array(); if($iszhuanyi == 0 && $zt!=2){ foreach($flowinfor['checkfields'] as $chef=>$chefv){ $ufied[$chef] = $_val = $this->rock->post('cfields_'.$chef.''); if(isempt($_val) && $chefv['isbt']=='1')$this->echomsg(''.$chefv['name'].'涓嶈兘涓虹┖'); $_stype = arrvalue($chefv, 'fieldstype'); if($_stype=='graph')$ufied[$chef] = c('input')->createqianming($_val); $_str = $this->savedatastr($_val, $chefv['fieldsarr'], $this->rs); if($_str!='')$this->echomsg($_str); } } $this->checkiszhuanyi = $iszhuanyi; $barr = $this->flowcheckbefore($zt, $ufied, $sm); $msg = ''; if(is_array($barr) && isset($barr['msg']))$msg = $barr['msg']; if(is_array($barr) && isset($barr['update'])){ foreach($barr['update'] as $_k=>$_v)$ufied[$_k] = $_v; } if(is_string($barr))$msg = $barr; if(!isempt($msg))return $msg; if($ufied){ $bo = $this->update($ufied, $this->id); if(!$bo)return 'dberr:'.$this->db->error(); } $courseact = $flowinfor['courseact']; $act = $courseact[$zt]; $statusname = $act[0]; $statuscolor= $act[1]; $nzt = $act[2]; $courseid = $nowcourse['id']; $this->checksmodel->update('`status`='.$zt.'', $this->mwhere.' and `checkid`='.$this->adminid.' and `courseid`='.$courseid.''); if($iszhuanyi == 1){ $this->addcheckname($courseid, $zynameid, $zyname, false, 4); $nowcourse['id'] = 0; } if($ischangenext==1){ $this->addcheckname($nextcourse['id'], $nextnameid, $nextname, true, 1); } $tuirs = array(); if($tuiid > 0)$tuirs = $this->flogmodel->getone($tuiid); if(!$tuirs)$tuiid = 0; if($tuiid>0){ $sm = $this->strappend($sm, '閫鍥炲埌['.$tuirs['name'].'('.$tuirs['checkname'].')]'); $statusname = '閫鍥'; $statuscolor = '#17B2B7'; } $this->checkistui = $tuiid; $logsm = $sm; if($iszhuanyi==0 && $csname)$logsm = $this->strappend($logsm,'鎶勯佺粰锛'.$csname.''); $this->lastlogid = $this->addlog(array( 'courseid' => $nowcourse['id'], 'name' => $nowcourse['name'], 'step' => $nowcourse['step'], 'status' => $zt, 'statusname'=> $statusname, 'color' => $statuscolor, 'explain' => $logsm, 'iszb' => $iszhuanyi, 'qmimg' => $qmimgstr )); if($tuiid > 0){ $this->addcheckname($tuirs['courseid'], $tuirs['checkid'], $tuirs['checkname'], true, 3); $this->updatelogvalid('and `courseid`>0 and `status`=1 and `step`>='.$tuirs['step'].''); } $lzt = $this->rock->repempt($nzt, $zt); $uparr = $nexttodoarr = $nexttodoarc = array(); $bsarr = $this->getflow(); $bsarr['tuiid'] = $tuiid; $nextcheckid = $bsarr['nowcheckid']; if($istongyi){ if($iszhuanyi==0){ $uparr['status']= $this->rock->repempt($nzt,'0'); } $nexttodoarr = array($nextcheckid, 'next', $sm, $statusname); }else{ if($tuiid>0){ $lzt = 23; $nexttodoarr = array($nextcheckid, 'tui', $sm, $statusname); }elseif($zt==2){ $nexttodoarr = array($this->optid, 'nothrough', $sm, $statusname); } $uparr['status'] = $lzt; } $this->flowcheckafter($zt, $sm, $nowcourse); $bsarr['nstatus'] = $lzt; $bsarr['checksm'] = $sm; if(!$this->nowcourse){ $uparr['status'] = $lzt; $nexttodoarc = array($this->optid, 'finish', $sm, ''); } if($uparr){ $this->update($uparr, $this->id); } if(!$this->nowcourse){ $this->flowcheckfinsh($zt); if($istongyi){ $this->checksmodel->delete($this->mwhere); } } $bsarr['status'] = $this->rs['status']; $this->getflowsave($bsarr, true); if($this->db->backsql()){ $bos = ($courseid == arrvalue($this->nowcourse, 'id') && $istongyi); if($nexttodoarr && (!$bos || $iszhuanyi==1))$this->nexttodo($nexttodoarr[0],$nexttodoarr[1],$nexttodoarr[2],$nexttodoarr[3]); if($nexttodoarc)$this->nexttodo($nexttodoarc[0],$nexttodoarc[1],$nexttodoarc[2],$nexttodoarc[3]); } if($iszhuanyi == 1){ $this->gettodosend('bozhuan','', $sm, 0, ''.$this->adminname.'灏哰'.$nowcourse['name'].']杞粰:'.$zyname.''); }else{ if($istongyi)$this->gettodosend('botong', $statusname, $sm, $nowcourse['id']); if($zt==2)$this->gettodosend('bobutong',$statusname, $sm, $nowcourse['id']); if(!$this->nowcourse && $istongyi)$this->gettodosend('bofinish', '', $sm); } if($iszhuanyi==0){ $sm1 = '鍦ㄢ'.$nowcourse['name'].'鈥濆鐞'.$statusname.''; $this->savecsname($csnameid,$csname,$this->adminid,$nowcourse['id'],1, $sm1); } return 'ok'; } public function pushs($receid, $cont, $title='', $params=array()) { return $this->push($receid,'', $cont, $title, 0, $params); } public function getxiangurl($num='', $id=0, $lx='x') { if($num=='')$num = $this->modenum; if($id==0)$id = $this->id; $url = URL; if($lx=='auto')$lx = ($this->ismobile==1)?'x':'p'; if($lx=='x' || $lx=='a')$url = $this->rock->getouturl(); $url = ''.$url.'task.php?a='.$lx.'&num='.$num.'&mid='.$id.''; if(COMPANYNUM)$url.='&dwnum='.COMPANYNUM.''; return $url; } public function getxiangurlx($num='',$id=0){return $this->getxiangurl($num,$id,'x');} public function push($receid, $gname='', $cont='', $title='', $wkal=0, $params=array()) { if(isempt($receid) && $wkal==1)$receid='all'; if(isempt($receid))return false; if(contain(','.$receid.',', ',d1,'))$receid='all'; $modenum = arrvalue($params, 'modenum', $this->modenum); $modename = arrvalue($params, 'modename', $this->modename); $id = (int)arrvalue($params, 'id', $this->id); $moders = arrvalue($params, 'moders'); if(!is_array($moders))$moders = $this->moders; if($gname=='')$gname = $modename; $reim = m('reim'); $url = $this->getxiangurl($modenum, $id, 'p'); $wxurl = $this->getxiangurl($modenum, $id, 'x'); $emurl = $this->getxiangurl($modenum, $id, 'a'); if($id==0){ $url = '';$wxurl = '';$emurl=''; } $url = arrvalue($params, 'url', $url); $wxurl = arrvalue($params, 'wxurl', $wxurl); $emurl = arrvalue($params, 'emurl', $emurl); $slx = 0; $pctx = $moders['pctx']; $mctx = $moders['mctx']; $wxtx = $moders['wxtx']; $ddtx = $moders['ddtx']; $emtx = $moders['emtx']; if($pctx==0 && $mctx==1)$slx=2; if($pctx==1 && $mctx==0)$slx=1; if($pctx==0 && $mctx==0)$slx=3; $this->rs['now_adminname'] = $this->adminname; $this->rs['now_modename'] = $modename; $cont = $this->rock->reparr($cont, $this->rs); $receido= $receid; $receid = $this->adminmodel->gjoins($receid); $uids = m('todo')->addtodo($receid, $modename, $cont, $modenum, $id); if($uids!='' && $moders['type'] != '绯荤粺' && $id > 0)$this->todosmodel->addtotouids($uids, array( 'table' => $moders['table'], 'mid' => $id, 'modename' => $modename, 'modenum' => $modenum, )); $title = $this->rock->reparr($title, $this->rs); $reim->pushagent($uids, $gname, $cont, $title, $url, $wxurl, $slx, ''.$modenum.'|'.$id.''); $this->flowchangetodo($uids, $gname); if(isempt($title))$title = $modename; $this->flowweixinarr=array(); return $receid; } public function nexttodo($nuid, $type, $sm='', $act='') { $cont = ''; $tit = ''; $gname = '娴佺▼寰呭姙'; $summary= $this->getsummary(); if($type=='submit' || $type=='next' || $type == 'cuiban'){ $cont = '浣犳湁['.$this->uname.']鐨刐'.$this->modename.',鍗曞彿:'.$this->sericnum.']闇瑕佸鐞'; if($sm!='')$cont.='锛岃鏄:'.$sm.''; $tit = ''.$this->uname.'鐨'.$this->modename.''; if($type != 'cuiban'){ $txnum = $this->option->getval('sms_txnum'); if(!isempt($txnum)){ $mknum = $this->option->getval('sms_mknum'); if($mknum=='all' || contain(','.$mknum.',',','.$this->modenum.',')){ $wxurl = $this->getxiangurlx(); $barr = c('xinhuapi')->sendsms($nuid, '', $txnum, array( 'modename' => $this->modename, 'sericnum' => $this->sericnum, 'applyname'=> $this->uname, 'deptname' => $this->rs['base_deptname'], ),$wxurl); } } } $type = 'daiban'; } if($type == 'nothrough'){ $cont = '浣犳彁浜'.$this->modename.',鍗曞彿:'.$this->sericnum.']'.$this->adminname.'澶勭悊['.$act.']锛屽師鍥:['.$sm.']'; $gname= '娴佺▼鐢宠'; $tit = ''.$this->modename.'澶勭悊'.$act.''; } if($type == 'finish'){ $cont = '浣犳彁浜ょ殑['.$this->modename.',鍗曞彿:'.$this->sericnum.']宸插叏閮ㄥ鐞嗗畬鎴'; $gname= '娴佺▼鐢宠'; $tit = ''.$this->modename.'鍏ㄩ儴澶勭悊瀹屾垚'; } if($type == 'zhui'){ $cont = ''.$this->adminname.'杩藉姞鍗曟嵁璇存槑['.$this->modename.',鍗曞彿:'.$this->sericnum.']锛岃鏄:['.$sm.']'; } if($type == 'tui'){ $cont = '['.$this->adminname.']閫鍥炲崟鎹甗'.$this->modename.',鍗曞彿:'.$this->sericnum.']鍒颁綘杩欒鍙婃椂澶勭悊锛岃鏄:'.$sm.''; } if($type == 'chao'){ $cont = ''.$this->adminname.''.$sm.'浜嗏'.$this->modename.'鈥'; if(!isempt($summary))$cont.='锛屾憳瑕佲'.$summary.'鈥'; if($this->isflow>0)$cont.='锛屽崟鍙封'.$this->sericnum.'鈥'; $gname= ''; $tit = ''.$this->modename.'鐨勫崟鎹妱閫'; } if($type=='pinglun'){ $cont = ''.$this->adminname.''.$act.'浣犵殑['.$this->modename.']鍗曟嵁锛岃鏄:'.$sm.''; $gname = ''; $tit = ''.$this->modename.'璇勮'; } if($type=='receipt'){ $cont = ''.$this->adminname.''.$act.'['.$this->modename.']鐨勫崟鎹'; if($sm!='')$cont.='锛岃鏄:'.$sm.''; $gname = '鍥炴墽纭'; $tit = ''.$this->modename.'鍥炴墽纭'; } $nbis = $this->flownexttodo($type); if($nbis){ if(is_string($nbis))$cont = $nbis; if(is_array($nbis)){ $tit = arrvalue($nbis, 'title', $tit); $gname = arrvalue($nbis, 'gname', $gname); $cont = arrvalue($nbis, 'cont', $cont); } } if($cont!='')$this->push($nuid, $gname, $cont, $tit); } public function getwxurl($num='') { if($num=='')$num = $this->modenum; $url = $this->rock->getouturl(); $str = ''.$url.'?m=ying&d=we&num='.$num.''; return $str; } public function getweurl($num='') { if($num=='')$num = $this->modenum; $url = $this->rock->getouturl(); $str = ''.$url.'?m=ying&d=we&mnum='.$num.''; return $str; } public function deletebill($sm='', $qxpd=true) { if(getconfig('systype')=='demo')return '婕旂ず璇峰嬁鍒犻櫎'; if($qxpd){ $is = $this->isdeleteqx(); if($is==0)return '鏃犳潈鍒犻櫎'; } if(method_exists($this,'flowdeletebillbefore')){ $bstr = $this->flowdeletebillbefore($sm); if(!isempt($bstr))return $bstr; } $modewhere = "`modenum`='".$this->modenum."' and `mid`=".$this->id.""; $this->flogmodel->delete($this->mwhere); m('reads')->delete($this->mwhere); m('file')->delfile('', "`mtype`='".$this->mtable."' and `mid`=".$this->id." and `id` not in(select `fileid` from `[Q]files` where `type`=3)"); $tables = $this->moders['tables']; if(!isempt($tables)){ $arrse = explode(',', $tables); foreach($arrse as $arrses)m($arrses)->delete('mid='.$this->id.''); } $this->billmodel->delete($this->mwhere); $this->todosmodel->delete($this->mwhere); $this->checksmodel->delete($this->mwhere); $this->chaomodel->delete($this->mwhere); m('remind')->delete($this->mwhere); m('todo')->delete($this->mwhere); m('todo')->delete($modewhere); m('receipt')->delete($this->mwhere); m('im_history')->delete("`xgurl`='".$this->modenum."|".$this->id."'"); m('files')->delete("`ip`='".$this->modenum."|".$this->id."'"); $this->delete($this->id); $this->flowdeletebill($sm); $this->flowzuofeibill($sm); $this->gettodosend('bodel','', $sm); $dels = '鍒犻櫎妯″潡['.$this->modename.']id涓'.$this->id.'鐨勫崟鎹'; $ztss = arrvalue($this->rs,'base_summary'); if(!isempt($ztss))$dels.=',鎽樿['.$ztss.']'; if(!isempt($sm))$dels.=',璇存槑:'.$sm.''; m('log')->addlogs('鍒犻櫎鍗曟嵁', $dels, 3); foreach($this->wherejoin as $num=>$fields){ $this->deletebilljoin($num, "`$fields`='$this->id'", $sm); } return 'ok'; } public function deletebilljoin($num, $where, $sm='') { $flow = m('flow')->initflow($num); $rows = $flow->getall($where); foreach($rows as $k1=>$rs1){ $mid = $rs1['id']; $flow->loaddata($mid, false); $flow->deletebill($sm, false); } } public function zuofeibilljoin($num, $where, $sm='') { $flow = m('flow')->initflow($num); $rows = $flow->getall($where); foreach($rows as $k1=>$rs1){ $mid = $rs1['id']; $flow->loaddata($mid, false); $flow->zuofeibill($sm); } } public function zuofeibill($sm='') { $this->addlog(array( 'explain' => $sm, 'name' => '浣滃簾', 'status' => 1, )); $this->update('`status`=5', $this->id); $zfarr = array( 'status' => 5, 'nstatus' => 5, 'checksm' => '浣滃簾锛'.$sm.'', 'nowcheckid' => '', 'nowcheckname' => '', 'nstatustext' => '浣滃簾', 'updt' => $this->rock->now, ); $this->billmodel->update($zfarr, $this->mwhere); $tables = $this->moders['tables']; if(!isempt($tables)){ $arrse = explode(',', $tables); foreach($arrse as $arrses)m($arrses)->delete('mid='.$this->id.''); } $this->flowzuofeibill($sm); $this->gettodosend('bozuofei','', $sm); foreach($this->wherejoin as $num=>$fields){ $this->zuofeibilljoin($num, "`$fields`='$this->id'", $sm); } return 'ok'; } public function openxiang() { $xiangdata = $btndata = array(); $data = $this->flowrsreplace($this->rs,4); foreach($this->fieldsarra as $k=>$rs){ if($rs['iszs']=='1'){ $xiangdata[] = array( 'name' => $rs['name'], 'fields'=> $rs['fields'], 'value' => $this->rock->repempt(arrvalue($data,$rs['fields'])) ); } } $barr['xiangdata'] = $xiangdata; $btnrows = $this->db->getrows('[Q]flow_menu',"`setid`='$this->modeid' and `status`=1 and `num` like 'open%'",'id,wherestr,name,num,issm,type','`sort`'); foreach($btnrows as $k=>$rs){ $wherestr = $rs['wherestr']; $bo = false; if(isempt($wherestr)){ $bo = true; }else{ $ewet = $this->wheremodel->getstrwhere($this->rock->jm->base64decode($wherestr)); $ewet = str_replace(array('{asqom}','1=2 and'),'', $ewet); $tos = $this->rows("`id`='$this->id' and $ewet"); if($tos>0)$bo = true; } if($bo)$btndata[] = array( 'id' => $rs['id'], 'name' => $rs['name'], 'issm' => $rs['issm'], ); } $barr['btndata'] = $btndata; if(method_exists($this,'flowopenxiang')){ $lbarr = $this->flowopenxiang($data,$xiangdata,$btndata); if(is_array($lbarr))foreach($lbarr as $k=>$v)$barr[$k]=$v; } return $barr; } public function smschuiban($sm='') { if($this->isflow>0 && $this->adminid==$this->uid){ $farr = $this->getflow(true); $nowcheckid = $farr['nowcheckid']; $tplnum = $this->option->getval('sms_cbnum','defnum'); $wxurl = $this->getxiangurlx(); $barr = c('xinhuapi')->sendsms($nowcheckid, '', $tplnum, array( 'modename' => $this->modename, 'sericnum' => $this->sericnum, 'applyname'=> $this->uname, 'deptname' => $this->rs['base_deptname'], ),$wxurl, false, false); if(!$barr['success'])return $barr['msg']; $this->addlog(array( 'explain' => $sm, 'name' => '鐭俊鍌姙', 'status' => 1, )); } return 'ok'; } public function reloadflow($sm='') { $this->update(array('status'=>0), $this->id); $this->flogmodel->update('`valid`=0', ''.$this->mwhere.' and `courseid`>0'); $this->addlog(array( 'explain' => $sm, 'name' => '閲嶆柊瀹℃壒', 'status' => 1, )); $this->getflow(true); $this->billmodel->update('`status`=0,`nstatus`=0',$this->mwhere); return 'ok'; } public function addschedule($sm='') { $txdt = $this->rock->post('txdt'); if(isempt($sm))return '璇存槑涓嶈兘涓虹┖'; if(isempt($txdt))return '鎻愰啋鏃堕棿涓嶈兘涓虹┖'; $barr['title'] = $sm; $barr['startdt'] = $txdt; $barr['uid'] = $this->adminid; $barr['optdt'] = $this->rock->now; $barr['optname']= $this->adminname; $barr['txsj'] = 1; m('schedule')->insert($barr); return 'ok'; } public function getoptmenu($flx=0) { $where = ''; if($flx==1)$where='and `iszs`=1'; $rows = $this->db->getrows('[Q]flow_menu',"`setid`='$this->modeid' ".$where." and `status`=1",'id,wherestr,name,statuscolor,statusvalue,num,islog,issm,type,upgcont','`sort`'); $arr = array(); $bfrom = $this->rock->post('bfrom'); if($flx==0)$arr[] = array('lx'=>0,'name'=>$this->rock->jm->base64decode('5pyq562!5o6I5peg5rOV5pi!56S66I!c5Y2V5aaC5bey562!5o6I5Y675Y2H57qn'),'optmenuid'=>0,'color'=>'red'); if($flx==1)return $arr; $status = (int)arrvalue($this->rs,'status','0'); $isturn = (int)arrvalue($this->rs, 'isturn','0'); $ismy = ($this->uid == $this->adminid or $this->optid == $this->adminid); $isreadbo = $this->isreadqx(1); if($this->isflow>0 && $isturn==1){ } if($status != 5 && arrvalue($this->moders,'ispl','1')=='1' && $isreadbo){ $arr[] = array('name'=>lang('璇勮'),'lx'=>15,'nup'=>1,'issm'=>1,'optmenuid'=>-15); } if($ismy && arrvalue($this->moders,'ishz')=='1' && $status==1){ $smcont = $this->getsummary(); $mid = (int)m('receipt')->getmou('id',"`uid`='$this->adminid' and `modenum`='$this->modenum' and `mid`='$this->id'"); $namess = '鍥炴墽纭璁剧疆'; if($mid>0)$namess = '鍥炴墽纭缂栬緫'; $arr[] = array('name'=>$namess,'djmid'=>$mid,'optnum'=>'receipt','lx'=>'18','optmenuid'=>-18,'modename'=>$this->modename,'smcont'=>$smcont); } if($isreadbo && arrvalue($this->moders,'istxset','1')=='1' && $this->modenum != 'remind' && !in_array($status, array(2,5))){ $smcont = ''.$this->modename.'锛'.$this->getsummary(); $mid = (int)m('remind')->getmou('id',"`uid`='$this->adminid' and `modenum`='$this->modenum' and `mid`='$this->id'"); $namess = '锛嬫坊鍔犳彁閱掕缃'; if($mid>0)$namess = '鎻愰啋璁剧疆缂栬緫'; $arr[] = array('name'=>$namess,'djmid'=>$mid,'smcont'=>$smcont,'issm'=>1,'optnum'=>'tixing','lx'=>'14','optmenuid'=>-14); } if($this->iseditqx()==1 && $isreadbo){ $arr[] = array('name'=>lang('缂栬緫'),'optnum'=>'edit','lx'=>'11','optmenuid'=>-11); } if($this->isdeleteqx()==1){ $arr[] = array('name'=>lang('鍒犻櫎'),'color'=>'red','optnum'=>'del','nup'=>1,'issm'=>0,'islog'=>0,'statusvalue'=>9,'lx'=>'9','optmenuid'=>-9); } if(method_exists($this,'flowgetoptmenuarr')){ $lbarr = $this->flowgetoptmenuarr($flx); if(is_array($lbarr))foreach($lbarr as $k=>$v)$arr[]=$v; } return $arr; } public function optmenu($czid, $zt, $sm='') { $msg = ''; $cname = $this->rock->post('changename'); $cnameid = $this->rock->post('changenameid'); $cdate = $this->rock->post('changedate'); $darr = array( 'cname' => $cname, 'cnameid' => $cnameid, 'cdate' => $cdate, 'sm' => $sm, ); if($czid==-9){ $msg = $this->deletebill($sm); }else if($czid==-10){ $msg = $this->check($zt, $sm); if(contain($msg,'鎴愬姛'))$msg = 'ok'; }else if($czid==-12){ $this->zhuijiaexplain($sm); }else if($czid==-13){ $this->chuiban($sm); }else if($czid==-14){ $msg = $this->addschedule($sm); }else if($czid==-15){ $actname = $this->rock->post('name'); $this->addlog(array( 'explain' => $sm, 'name' => $actname, )); $uids = ''; if(isset($this->rs['uid'])){ $uids= $this->rs['uid']; }else if(isset($this->rs['optid'])){ $uids= $this->rs['optid']; } if($uids)$this->nexttodo($uids, 'pinglun', $sm, $actname); $this->gettodosend('boping','', $sm); }else if($czid==-16){ $this->zuofeibill($sm); }else if($czid==-17){ $msg = $this->smschuiban($sm); }else if($czid==-18){ $msg = $this->jiankongzb($darr); }else if($czid==-19){ $msg = $this->reloadflow($sm); }else{ } if($msg=='')$msg='ok'; return $msg; } public function jiankongzb($darr) { return $this->bd6('5peg5L!h5ZG8562!5o6I5peg5q2k5Yqf6IO9'); } public function billwhere($uid, $lx) { $arr['table'] = $this->mtable; $arr['tableleft'] = ''; $arr['fields'] = ''; $arr['order'] = ''; $arr['group'] = ''; $arr['keywhere']= ''; $arr['asqom'] = ''; $arr['onlywhere'] = ''; $arr['companywhere']= ''; $this->atype = $lx; $nas = $this->flowbillwhere($uid, $lx); $inwhere = ''; if(substr($lx,0,5)=='grant'){ $inwhere = $this->viewmodel->viewwhere($this->moders, $this->adminid, $this->flowviewufieds, 1); } if($lx=='chaos'){ $inwhere = "and {asqom}`id` in(select `mid` from `[Q]flow_chao` where `table`='{$this->mtable}' and ".$this->rock->dbinstr('csnameid', $this->adminid).")"; } if($lx=='mychuli'){ $inwhere = "and {asqom}`id` in(select bill.`mid` from `[Q]flow_bill` as `bill` where bill.`modeid`='{$this->modeid}' and ".$this->rock->dbinstr('bill.`allcheckid`', $this->adminid).")"; } $_wehs = ''; if(is_array($nas)){ if(isset($nas['where']))$_wehs = $nas['where']; $ftears = explode(',','asqom,order,fields,fieldsleft,table,group,companywhere,onlywhere,keywhere,tableleft'); foreach($ftears as $fid)if(isset($nas[$fid]))$arr[$fid] = $nas[$fid]; }else{ $_wehs = $nas; } $fwhere = $this->getflowwhere($uid, $lx); $path = ''.P.'/flow/page/rock_page_'.$this->modenum.'.php'; $table = $arr['table']; $temsao = 0; if(!contain($table, ' ') && $this->isflow>0){ $arr['table'] = '`[Q]'.$this->mtable.'` a left join `[Q]flow_bill` b on a.`id`=b.`mid` and b.`table`=\''.$this->mtable.'\''; if(!isempt($arr['tableleft']))$arr['table'].=' left join '.$arr['tableleft'].''; $arr['asqom'] = 'a.'; $arr['fields']= 'a.*,b.`uname` as base_name,b.`udeptname` as base_deptname,b.`sericnum`,b.`nowcheckname`'; if(isset($arr['fieldsleft']) && $arr['fieldsleft'])$arr['fields'].=','.$arr['fieldsleft'].''; if($arr['order']=='')$arr['order'] = 'a.`optdt` desc'; $temsao = 1; if($this->defaultorder){ $defa = explode(',', $this->defaultorder); $desc = arrvalue($defa, 1, 'desc'); $arr['order'] = 'a.`'.$defa[0].'` '.$desc.''; } } if(isempt($arr['order'])){ $arr['order'] = '{asqom}`id` desc'; if($this->defaultorder){ $defa = explode(',', $this->defaultorder); $desc = arrvalue($defa, 1, 'desc'); $arr['order'] = '{asqom}`'.$defa[0].'` '.$desc.''; } } if(isempt($fwhere) && isempt($inwhere) && $this->moders['isscl']>0){ $fwhere = 'and 1=2'; } $where = $inwhere; $wherestr = $this->moders['where']; if(!isempt($wherestr)){ $wherestr = $this->rock->covexec($wherestr); $where .= ' and {asqom}'.$wherestr; } if($fwhere!='')$where .= ' '.$fwhere; if($_wehs!='')$where .= ' '.$_wehs; $highwhere = $this->gethighwhere(); $allfields = array(); $key = $this->rock->post('key'); $pnum = $this->rock->post('pnum'); $status = $this->rock->post('keystatus'); $ztfields = arrvalue($nas, 'ztfields', 'status'); $xhlikea = array('like','=','>=','<=', 'not like'); $xhfields = $this->rock->post('xhfields'); $xhlike = (int)$this->rock->post('xhlike','0'); $xhkeygj = $this->rock->jm->base64decode($this->rock->post('xhkeygj')); if(!isempt($xhkeygj) && $xhfields){ if(substr($xhfields,0,2)=='zb'){ $xu = substr($xhfields,2,1); $zbasr = explode(',', $this->moders['tables']); $zbts = arrvalue($zbasr,$xu); $xhfields = substr($xhfields,4); $wher1 = "`$xhfields` ".$xhlikea[$xhlike].""; if($xhlike==0 || $xhlike==4)$wher1.=" '%".$xhkeygj."%'"; if($xhlike==1 || $xhlike==2 || $xhlike==3)$wher1.=" '$xhkeygj'"; $wher1 = " and {asqom}`id` in(select `mid` from `[Q]".$zbts."` where ".$wher1.")"; $where.= $wher1; }else{ $wher1 = " and {asqom}`$xhfields` ".$xhlikea[$xhlike].""; if($xhlike==0 || $xhlike==4)$wher1.=" '%".$xhkeygj."%'"; if($xhlike==1 || $xhlike==2 || $xhlike==3)$wher1.=" '$xhkeygj'"; $where.= $wher1; } } if(!isempt($status))$where .= ' and {asqom}`'.$ztfields.'`='.$status.''; if(!isempt($key) && isempt($arr['keywhere'])){ $check = c('check'); $allfields = $this->db->getallfields('[Q]'.$this->mtable.''); $_kearr = array(); if($check->isdate($key) || $check->ismonth($key)){ $skeay = array('date','datetime','month'); foreach($this->fieldsarra as $k=>$rs){ $flx = $rs['fieldstype']; $fid = $rs['fields']; if($rs['issou']==1 && in_array($flx, $skeay) && in_array($fid, $allfields)){ if($check->isdate($key)){ if($flx=='date')$_kearr[] = "{asqom}`".$fid."`='$key'"; if($flx=='datetime')$_kearr[] = "{asqom}`".$fid."` like '$key%'"; if($flx=='month')$_kearr[] = "{asqom}`".$fid."`='".substr($key,0,7)."'"; if($temsao==1){ $_kearr[] = "b.`applydt`='$key'"; } } if($check->ismonth($key)){ if($flx=='month'){ $_kearr[] = "{asqom}`".$fid."`='$key'"; }else{ $_kearr[] = "{asqom}`".$fid."` like '$key%'"; } if($temsao==1){ $_kearr[] = "b.`applydt` like '$key%'"; } } } } } if(!$_kearr){ $skeay = array('text','textarea','htmlediter','changeuser','changeusercheck','changedept','changedeptusercheck','selectdatafalse','selectdatatrue','num'); $xiakk = array('rockcombo','select'); foreach($this->fieldsarra as $k=>$rs){ if($rs['issou']==1 && in_array($rs['fields'], $allfields) && substr($rs['fields'],-2) != 'dt'){ if(in_array($rs['fieldstype'], $skeay))$_kearr[] = "{asqom}`".$rs['fields']."` like '%".$key."%'"; } } if($temsao==1){ $_kearr[] = "b.`uname` like '%".$key."%'"; $_kearr[] = "b.`udeptname` like '%".$key."%'"; $_kearr[] = "b.`sericnum` = '$key'"; $_kearr[] = "b.`nowcheckname` = '$key'"; } if(isset($nas['orlikefields'])){ $owhee = explode(',', $nas['orlikefields']); foreach($owhee as $owhees){ $_owhees = explode('@', $owhees); $sle = arrvalue($_owhees, 1); if($sle=='1'){ $_kearr[] = "".$_owhees[0]." ='$key'"; }else{ $_kearr[] = "".$_owhees[0]." like '%".$key."%'"; } } } } if($_kearr && $arr['onlywhere']=='')$arr['keywhere'] = "and (".join(' or ',$_kearr).")"; } if(!isempt($arr['companywhere']) && getconfig('companymode'))$where .= ' '.$arr['companywhere']; if(!isempt($arr['onlywhere']))$where .= ' '.$arr['onlywhere']; if(!isempt($arr['keywhere']))$where .= ' '.$arr['keywhere']; if($highwhere!='')$where .= ' '.$highwhere; $where = str_replace('{asqom}', $arr['asqom'], $where); $arr['order'] = str_replace('{asqom}', $arr['asqom'], $arr['order']); $where = str_replace('[A]', $arr['asqom'], $where); $fields = $arr['fields']; if($this->flowfieldstype==1 && (isempt($fields) || $fields=='*') && $this->moders['isscl']>0){ if(!$allfields)$allfields = $this->db->getallfields('[Q]'.$this->mtable.''); $fields = '{asqom}`id`'; $odlvs = $this->option->getval('columns_'.$this->modenum.'_'.$pnum.''); if(isempt($odlvs)){ foreach($this->fieldsarra as $k=>$rs){ if($rs['islb']==1 && in_array($rs['fields'],$allfields)){ $fields.=',{asqom}`'.$rs['fields'].'`'; } } }else{ $odlvsa = explode(',', $odlvs); foreach($odlvsa as $odlvs1){ if(in_array($odlvs1, $allfields)){ $fields.=',{asqom}`'.$odlvs1.'`'; } } } if($this->isflow>0){ if(!contain($fields,'`status`'))$fields.=',{asqom}`status`'; } $fields = str_replace('{asqom}', $arr['asqom'], $fields); $arr['fields'] = $fields; } $fields = $arr['fields']; if(!isempt($fields) && $fields!='*'){ $fieldsa = explode(',', $fields); $fieldss = ''; foreach($fieldsa as $fieldsas){ if(contain($fieldsas,'`') || contain($fieldsas,'.') || contain($fieldsas,' ') || contain($fieldsas,'(')){ $fieldss.=','.$fieldsas.''; }else{ $fieldss.=',`'.$fieldsas.'`'; } } $arr['fields'] = substr($fieldss, 1); } $arr['where'] = str_replace('{asqom}','', $where); return $arr; } public function gethighwhere() { $s = ''; return $s; } public function getflowwhere($uid, $num) { $where = ''; $rs = $this->wheremodel->getone("`setid`='$this->modeid' and `num`='$num'"); if(!$rs)return $where; $where = $this->wheremodel->getwherestr($rs, $uid, $this->flowviewufieds); return $where; } public function getflowrows($uid, $lx, $limit=5, $swher='') { $nas = $this->billwhere($uid, $lx); $table = $nas['table']; if(!contain($table,' '))$table='[Q]'.$table.''; if(isempt($nas['fields']))$nas['fields'] = '*'; $swher = str_replace('{asqom}',$nas['asqom'], $swher); $where = '1=1 '.$nas['where'].' '.$swher.''; if($limit==0)return $this->db->rows($table, $where ); $rows = $this->db->getrows($table, $where , $nas['fields'], $nas['order'], $limit); foreach($rows as $k=>$rs){ $rows[$k] = $this->rsreplace($rs, 2); } return $rows; } public function gettodorows($whereid) { $where = $this->wheremodel->getwherestr($whereid, $this->adminid, $this->flowviewufieds); $wherestr = $this->moders['where']; if(!isempt($wherestr)){ $wherestr = $this->rock->covexec($wherestr); $where .= ' and '.$wherestr; } $where = str_replace('{asqom}','', $where); $rows = $this->getall('2=2 '.$where.''); foreach($rows as $k=>$rs){ $rows[$k] = $this->rsreplace($rs, 1); } return $rows; } public function printexecl($event) { $arr['moders'] = $this->moders; $arr['fields'] = $this->getfields(); $cell = 1; foreach($arr['fields'] as $k=>$v)$cell++; $arr['cell'] = $cell; $where = '1=1'; $str1 = $this->moders['where']; if(!isempt($str1)){ $str1 = $this->rock->covexec($str1); $where = $str1; } $vwhere = $this->viewmodel->viewwhere($this->moders, $this->adminid); $rows = $this->getrows(''.$where.' '.$vwhere.'', '*', 'id desc', 100); $arr['rows'] = $this->flowprintrows($rows); $arr['count'] = $this->db->count; return $arr; } public function getsuballdata($lx=0, $mid=0) { $tabless = $this->moders['tables']; $subdata = array(); if($mid==0)$mid = $this->id; if(!isempt($tabless)){ $tablessa = explode(',', $tabless); $namessa = explode(',', $this->moders['names']); $tabless1 = '['.str_replace(',','],[', $tabless).']'; foreach($tablessa as $zbx=>$tables){ $cis = substr_count($tabless1, '['.$tables.']'); $whes = ''; if($cis>1)$whes=' and `sslx`='.$zbx.''; $data = m($tables)->getall('mid='.$mid.''.$whes.'','*','`sort`'); $data = $this->flowsubdata($data, $lx, $zbx); if($lx == 0){ $subdata['subdata'.$zbx.''] = $data; }else{ $subdata[$zbx] = array( 'data' => $data, 'fields'=> 'subdata'.$zbx.'', 'name' => $this->rock->arrvalue($namessa, $zbx) ); } } } return $subdata; } private $gettodolistarr = null; public function gettodolist($act) { if(is_array($act))return $act; if($this->gettodolistarr === null){ $rows = $this->todomodel->getrows("`setid`='".$this->modeid."' and `status`=1"); $barr = array(); foreach($rows as $k=>$rs){ $whereid = (int)$rs['whereid']; if($whereid > 0){ $bo = $this->wheremanzhu($whereid); if(!$bo)continue; } $barr[] = $rs; } $this->gettodolistarr = $barr; }else{ $barr = $this->gettodolistarr; } $garr = array(); if($barr)foreach($barr as $k=>$rs){ if(arrvalue($rs,$act)=='1')$garr[] = $rs; } return $garr; } public function gettodosend($act, $actname='',$sm='', $courseid=0, $conts='') { $barr = $this->gettodolist($act); if(!$barr)return; $changearr = array('boturn'=>'鎻愪氦','boedit'=>'缂栬緫','bozhuan'=>'杞姙','bochang'=>'淇敼瀛楁','bodel'=>'鍒犻櫎','bozuofei'=>'浣滃簾','botong'=>'澶勭悊鍚屾剰','bobutong'=>'澶勭悊涓嶅悓鎰','bofinish'=>'鍏ㄩ儴澶勭悊瀹屾垚','bozhui'=>'杩藉姞璇存槑','boping'=>'璇勮','bohuiz'=>'鍥炴墽纭'); if($actname=='' && is_string($act))$actname = arrvalue($changearr, $act); if(isempt($actname))return; $cheo = c('check'); foreach($barr as $k=>$rs){ $receid = $rs['receid']; if($act=='botong' || $act=='bobutong'){ $changewe = $rs['changecourse']; if(!isempt($changewe) && !contain(','.$changewe.',',','.$courseid.','))continue; } if($rs['toturn']==1)$receid.=','.$this->uid.''; if(arrvalue($rs,'tosuper')=='1'){ $supar = $this->adminmodel->getsuperman($this->uid); $shnej = arrvalue($supar, 0); if(!isempt($shnej))$receid.=','.$shnej.''; } if($rs['tocourse']==1 && $this->billrs){ $allcheckid = $this->billrs['allcheckid']; if(!isempt($allcheckid))$receid.=','.$allcheckid.''; } $todofields = $rs['todofields']; if(!isempt($todofields)){ $toad = explode(',', $todofields); foreach($toad as $toads){ $ttv = arrvalue($this->rs, $toads); if(!isempt($ttv) && $cheo->isinnumber($ttv))$receid.=','.$ttv.''; } } if(isempt($receid))continue; if(substr($receid,0,1)==',')$receid = substr($receid, 1); $cont = $rs['summary']; if(isempt($cont))$cont = $conts; if(isempt($cont)){ $cont = ''.$this->adminname.''.$actname.'['.$this->modename.',鍗曞彿:'.$this->sericnum.']'; if($sm!='')$cont.=',璇存槑:'.$sm.''; } $this->push($receid, '', $cont, $this->rock->repempt($rs['name'])); } } public function numtodosend($num, $actname='',$sm='') { $rows = $this->todomodel->getrows("`setid`='".$this->modeid."' and `num`='$num' and `status`=1"); if(!$rows)return; $this->gettodosend($rows, $actname, $sm); } public function flowtotal($fields='', $type='') { if($fields=='')$fields = $this->rock->post('total_fields'); if($type=='')$type = $this->rock->post('total_type','jls'); $typea = explode('|', $type); $typefields = ''; $type = $typea[0]; $typefields = arrvalue($typea, 1); $rowa = array(); $rowa[] = array( 'name' => '鏆傛棤鏁版嵁', 'value' => 0, 'bili' => '' ); $tofiels= 'count(1)'; if($type=='sum')$tofiels = 'sum([A]`'.$typefields.'`)'; if($type=='avg')$tofiels = 'avg([A]`'.$typefields.'`)'; $atype = $this->rock->post('atype'); $table = '[Q]'.$this->mtable.''; $narr = $this->billwhere($this->adminid, $atype); $where = $narr['where']; $table = $narr['table']; if(!contain($table,' '))$table = '[Q]'.$table.''; $gwhere = $this->rock->post('where'); if(!isempt($gwhere)){ $gwhere = $this->rock->jm->uncrypt($this->rock->iconvsql($gwhere)); $where .= ' '.$gwhere.''; } $sql = 'select '.$fields.' as `name`,'.$tofiels.' as value from '.$table.' where 1=1 '.$where.' group by '.$fields.''; $sql = str_replace('[A]', $narr['asqom'], $sql); $rows = $this->db->getall($sql); $total = 0; if($rows){ foreach($rows as $k=>$rs)$total+=floatval($rs['value']); if($total>0)foreach($rows as $k=>$rs){ $rows[$k]['bili'] = $this->rock->number($rs['value']*100/$total).'%'; } if($type!='avg' && count($rows)>1)$rows[] = array('name' => '鍚堣','value' => $total,'bili' => ''); }else{ $rows = $rowa; } return $rows; } public function receiptcheck($hid, $sm) { return 'ok'; } public function getrowstable($atype, $where, $limit=100,$fields='') { $rows = $this->getflowrows($this->adminid,$atype,$limit,$where); $headstr = '@xuhaos,,center'; foreach($this->fieldsarra as $k=>$rs){ $bo = false; if(!$fields && $rs['islb']==1 && $rs['iszb']=='0')$bo = true; if($fields && contain(','.$fields.',',','.$rs['fields'].','))$bo = true; if($bo)$headstr.='@'.$rs['fields'].','.$rs['name'].''; } if($this->isflow>0){ $headstr.='@statustext,鐘舵'; if(is_array($rows))foreach($rows as $k=>$rs){ $rows[$k]['statustext'] = $this->getstatusstr($rs); } } $cont = c('html')->createrows($rows, substr($headstr, 1),'#cccccc','noborder'); return $cont; } public function lang($ky) { return lang($ky,'mode_'.$this->modenum.''); } public function rsreplace($rs, $lx, $kzq=null, $ly=0) { $rs = $this->flowrsreplace($rs, $lx); if($this->tfieldarr)foreach($this->tfieldarr as $k1=>$frs){ $type = $frs['fieldstype']; $fid = $frs['fields']; $val = arrvalue($rs, $fid); if($type=='uploadimg' && !contain($val,'<')){ if($val && $lx==2)$rs[''.$fid.'_textcn'] = '
'; continue; } if(isempt($frs['data']))continue; if(isempt($val) || !is_numeric($val))continue; if(!array_key_exists('store', $frs)){ if($this->inputobj == null){ $this->inputobj = c('input'); $this->inputobj->flow = $this; } $store = $this->inputobj->getdatastore($frs['fieldstype'], $kzq, $frs['data'], $fid); $this->tfieldarr[$k1]['store'] = $store; }else{ $store = $frs['store']; } if($store)foreach($store as $x=>$rv){ if($rv['value']==$val){ $rs[''.$fid.'_yuan'] = $val; if($lx==2 && $ly==0){ $rs[''.$fid.'_textcn'] = $rv['name']; if(isset($rv['color']))$rs[''.$fid.'_color'] = $rv['color']; }else{ $rs[$fid] = $rv['name']; if(isset($rv['color']))$rs[$fid] = ''.$rs[$fid].''; } break; } } } return $rs; } public function viewjinfields($rows) { if(!$rows)return $rows; return $rows; } public function daochusubtable($rows) { return $rows; } }
\ No newline at end of file
+ '; unset($fields['base_name']); unset($fields['base_deptname']); } $contvimr .= ''; foreach($fields as $f=>$n){ $vs = arrvalue($data, $f); if(!isempt($vs)){ if(substr($f,0,7)=='subdata'){ $contvimr .= ' |
'; }else{ $contvimr .= ''.str_replace(' ',' ',$n).' | 锛 | '.$vs.' |
'; } } } $contvimr .= '
'; } if(isempt($contview))$contview = $contvimr; $contview = str_replace('$contview$',$contvimr, $contview); } unset($farrobj); $arr['contview'] = $contview; $arr['readarr'] = m('log')->getreadarr($this->mtable, $this->id); $arr['isedit'] = $this->iseditqx(); $arr['isdel'] = $this->isdeleteqx(); $arr['isflow'] = $this->isflow; $arr['modename'] = $this->modename; $arr['ischehui'] = $this->ischehui(); $arr['statustext'] = $ztass[4]; $arr['statuscolor'] = $ztass[1]; $arr['optmenu'] = $this->getoptmenu(1); $arr['isgbjl'] = (int)$this->rock->arrvalue($this->moders,'isgbjl','0'); $arr['isgbcy'] = (int)$this->rock->arrvalue($this->moders,'isgbcy','0'); $receiptrs = false; $receiptrow = m('receipt')->getall("`modenum`='$this->modenum' and `mid`='$this->id' and `status`=1"); foreach($receiptrow as $k=>$hrs){ $uid1 = ','.$this->adminid.','; if(!contain(','.$hrs['receid'].',', $uid1))continue; if(!contain(','.$hrs['receids'].',', $uid1)){ $receiptrs = array( 'id' => $hrs['id'], 'optname' => $hrs['optname'], ); break; } } $arr['flowinfor'] = array(); $arr['readunarr'] = array(); $arr['receiptrs'] = $receiptrs; if($this->isflow>0){ $arr['flowinfor']= $this->getflowinfor(); if($arr['flowinfor']['ischeck']==1){ $arr['isplview']='0'; } } if(isset($data['title']))$arr['title'] = $data['title']; $_oarr = $this->flowdatalog($arr); if(is_array($_oarr))foreach($_oarr as $k=>$v)$arr[$k]=$v; $conta = $this->rock->matcharr($contview,2); $edbof = false; foreach($conta as $fids){ $thnr = ''; $contview = str_replace('`'.$fids.'`', $thnr, $contview); } $arr['contview'] = $contview; return $arr; } private function getsubdata($xu, $rows, $lx=0) { $iscz = 0; $iszb = $xu+1; $fields = 'subdata'.$xu.''; $subrows = $this->db->getrows('[Q]flow_element','`mid`='.$this->modeid.' and `iszb`='.$iszb.' and `iszs`=1','`fields`,`name`,`isalign`','`sort`'); $cont = ''; if($this->db->count > 0){ $iscz = 1; $headstr = '@xuhaos,,center'; $colorbb = getconfig('bcolorxiang', '#cccccc'); foreach($subrows as $k=>$rs){ $headstr.='@'.$rs['fields'].','.$rs['name'].''; if($rs['isalign']=='1')$headstr.=',left'; if($rs['isalign']=='2')$headstr.=',right'; } foreach($rows as $k=>$rs)$rows[$k]['xuhaos'] = $k+1; $slex = ($lx==0) ? 'noborder':''; if($this->subsubdatastyle!='')$slex = $this->subsubdatastyle; $cont = c('html')->createrows($rows, substr($headstr,1), $colorbb, $slex); } return $cont; } public function ischehui() { $is = 0; if($this->rs['status']==1 || $this->isflow==3)return $is; $where = "".$this->mwhere." and `valid`=1 order by `id` desc"; $rs = $this->flogmodel->getone($where); $sj = (int)getconfig('flowchehuitime','2'); $time = time()-$sj*3600; if($rs && $rs['status']=='1' && $rs['checkid']==$this->adminid && strtotime($rs['optdt'])>$time && ($rs['courseid']>0 || $rs['iszb']=='1' )) $is = $rs['id']; return $is; } public function chehui($sm='') { return $this->bd6('5peg5L!h5ZG8562!5o6I5peg5q2k5Yqf6IO9'); } public function bd6($str) { return $this->rock->jm->base64dencode($str); } public function getdataedit() { $fobj = m('file'); $arr['data'] = $this->flowrsreplaceedit($this->rssust); $arr['table'] = $this->mtable; $arr['tables'] = $this->moders['tables']; $arr['modeid'] = $this->modeid; $arr['isedit'] = $this->iseditqx(); $arr['isflow'] = $this->isflow; $arr['user'] = $this->urs; $arr['status'] = $this->rs['status']; $filers = $fobj->getfile($this->mtable,$this->id); foreach($filers as $fk=>$frs1)$filers[$fk]['thumbpath']=$fobj->getthumbpath($frs1); $arr['filers'] = $filers; $arr['subdata'] = $this->getsuballdata(); $filearr = array(); $fileids = ''; foreach($this->fieldsarr as $k=>$rs){ $fid = $rs['fields']; $flx = $rs['fieldstype']; if($flx=='uploadfile'){ $fval = arrvalue($this->rssust, $fid); if(!isempt($fval))$fileids.=','.$fval.''; } if($flx=='uploadimg'){ $arr['data'][''.$fid.'_view'] = $this->rock->gethttppath($arr['data'][$fid]); } } if($fileids!=''){ $frows = $fobj->getall('`id` in('.substr($fileids, 1).')','filename,id,filesizecn,fileext,optname,thumbpath,thumbplat'); foreach($frows as $k1=>$rs1){ $rs1['thumbpath'] = $fobj->getthumbpath($rs1); $filearr['f'.$rs1['id'].''] = $rs1; } } $arr['filearr'] = $filearr; $ztarr = $this->getnowstatus(); $arr['statustext'] = $ztarr[0]; $arr['statuscolor'] = $ztarr[1]; return $arr; } public function getflowinfor() { $ischeck = 0; $ischange= 0; $str = ''; $arr = $this->getflow(); if($arr['nowcheckid'] != $this->billrs['nowcheckid'])$this->getflowsave($arr, true); $nstatus = $this->rs['status']; $isturn = $this->rs['isturn']; $nowcheckid = ','.$arr['nowcheckid'].','; if($isturn==1 && $nstatus !=1 && contain($nowcheckid, ','.$this->adminid.',') && !in_array($nstatus, array(2,5))){ $ischeck = 1; } $logarr = $this->getlog(); $nowcur = $this->nowcourse; if(arrvalue($this->nextcourse,'checktype')=='change'){ $ischange = 1; } $sarr['ischeck'] = $ischeck; $sarr['ischange'] = $ischange; $sarr['nowcourse'] = $nowcur; $sarr['iszhuanban'] = 0; $sarr['ischao'] = 0; $sarr['nextcourse'] = $this->nextcourse; $sarr['nstatustext'] = $arr['nstatustext']; if($isturn==0)$sarr['nstatustext'] = '寰呮彁浜'; $_checkfields = arrvalue($nowcur,'checkfields'); $checkfields = array(); if($ischeck == 1 && !isempt($_checkfields)){ $_checkfieldsa = explode('|', $_checkfields); $_checkfields = join(',',$_checkfieldsa); $_checkxuant = arrvalue($_checkfieldsa, 1); $inputobj = c('input'); $inputobj->flow = $this; $inputobj->mid = $this->id; $inputobj->urs = $this->urs; $elwswhere = "`mid`='$this->modeid' and `iszb`=0 and instr(',$_checkfields,', concat(',',`fields`,','))>0"; $infeidss = $inputobj->initFields($elwswhere); foreach($infeidss as $_fs=>$fsva){ $_sfes = $fsva['fields']; $_type = $fsva['fieldstype']; $showinpus = 1; $isbt = 1; if($_checkxuant && contain(','.$_checkxuant.',',','.$_sfes.','))$isbt=0; if($_type=='hidden' || $_type=='fixed')$showinpus=2; $_val = arrvalue($this->rssust, $_sfes); $cheo = (substr($_type,0,6)=='change' && !isempt($fsva['data'])); if($cheo)$_val.='|'.arrvalue($this->rssust, $fsva['data']).''; $checkfields[$_sfes] = array( 'inputstr' => $inputobj->getfieldcontval($_sfes, $_val), 'name' => $fsva['name'], 'isbt' => $isbt, 'fieldstype'=> $_type, 'fieldsarr' => $fsva, 'showinpus' => $showinpus ); if($cheo){ $_sfes = $fsva['data']; $checkfields[$_sfes] = array( 'inputstr' => '', 'isbt' => $isbt, 'name' => $fsva['name'].'id', 'fieldstype'=> $_type, 'fieldsarr' => false, 'showinpus' => 2 ); } } } $sarr['checkfields'] = $checkfields; if($nstatus==2)$sarr['nstatustext'] ='寰呮彁浜や汉澶勭悊('.$this->urs['name'].')'; $loglen = count($logarr); foreach($logarr as $k=>$rs){ if($rs['courseid']>0){ $sty = ''; $col = $rs['color']; if($str!='')$str.=' 鈫 '; $str.=''.$rs['actname'].'('.$rs['name'].''.$rs['statusname'].')'; } } if($nstatus=='2'){ if($str!='')$str.=' 鈫 '; $str.= $sarr['nstatustext']; }else if($nstatus=='5'){ if($str!='')$str.=' 鈫 '; $sarr['nstatustext'] = '宸蹭綔搴'; $str.= '宸蹭綔搴'; }else{ foreach($this->flowarr as $k=>$rs){ if($rs['ischeck']==0){ $sty = 'color:#888888'; if($rs['isnow']==1)$sty='font-weight:bold;color:#800000'; if($str!='')$str.=' 鈫 '; $str.=''.$rs['name'].''; if(!isempt($rs['nowcheckname']))$str.='('.$rs['nowcheckname'].')'; $str.=''; } } } $sarr['flowcoursestr'] = $str; if($nstatus==1)$sarr['nstatustext'] = $this->getnowstatus(1); $actstr = ',鍚屾剰|green,涓嶅悓鎰弢red'; if(isset($nowcur['courseact']) ){ $actstrt = $nowcur['courseact']; if(!isempt($actstrt))$actstr = ','.$actstrt; } $act = c('array')->strtoarray($actstr); foreach($act as $k=>$as1)if($k>0 && $as1[0]==$as1[1])$act[$k][1]=''; if(arrvalue($this->moders,'isys')=='1' && (int)arrvalue($nowcur,'mid','0')>=0){ $act[25]= array('鍓嶅姞绛','',''); $act[26]= array('鍚庡姞绛','',''); } $sarr['courseact'] = $act; $nowstatus = $this->rs['status']; if($this->isflow>0 && $this->rs['isturn']==0)$nowstatus=3; $sarr['nowstatus'] = $nowstatus; $step = $this->rock->arrvalue($nowcur, 'step','0'); $tuicourse = $this->flogmodel->getall($this->mwhere.' and `courseid`>0 and `valid`=1 and `status`=1 and `step`<'.$step.'','`id`,`checkname`,`name`','`step` desc'); $sarr['tuicourse'] = $tuicourse; return $sarr; } public function updatestatus($zt) { $this->update('`status`='.$zt.'', $this->id); $this->billmodel->update('`status`='.$zt.'', $this->mwhere); } public function getstatusarr() { return $this->getstatus(null, '','',2); } public function getstatus($rs, $statusstr='',$other='', $glx=0) { $statustext = $statuscolor = ''; if($statusstr=='')$statusstr=$this->rock->arrvalue($this->moders,'statusstr'); $statusara = array(); $colorsa = array('blue','green','red','#ff6600','#526D08','#888888','','','','','','','','','','','','',''); if(isempt($statusstr)){ $statussst = '涓嶅悓鎰'; $statusstr = '寰?澶勭悊|blue,宸插鏍竱green,'.$statussst.'|red'; } $nowcheckname= arrvalue($rs,'nowcheckname', arrvalue($this->billrs,'nowcheckname')); if(isempt($other))$other = $nowcheckname; $statusar = c('array')->strtoarray($statusstr); foreach($statusar as $k=>$v){ if($v[0]==$v[1])$v[1]= arrvalue($colorsa, $k); $statusara[$k] = $v; } $statusara[5] = array('宸蹭綔搴','#888888'); $statusara[23] = array('閫鍥','#17B2B7'); if($glx==2)return $statusara; $isturn = -1; if(isset($rs['isturn']))$isturn = (int)$rs['isturn']; $zt = $this->rock->arrvalue($rs, 'status'); if($isturn==0){ $statustext = '寰呮彁浜'; $statuscolor= '#ff6600'; }elseif(!isempt($zt)){ if(isset($statusara[$zt])){ $statustext = $statusara[$zt][0]; $statuscolor = $statusara[$zt][1]; } } if(contain($statustext,'?')){ $statusstr = str_replace('?', ''.$other.'', $statustext); }else{ $statusstr = ''.$statustext.''; } if($glx==1){ return $statusstr; } return array(str_replace('?', $other, $statustext), $statuscolor, $zt, $statusstr, str_replace('?', '', $statustext)); } public function getstatusstr($rs) { return $this->getstatus($rs, '','', 1); } public function getnowstatus($glx=0) { return $this->getstatus($this->rs, '','', $glx); } private $getlogrows = array(); public function getlog($lx=0) { if(isset($this->getlogrows[$lx]))return $this->getlogrows[$lx]; $rows = $this->flogmodel->getrows($this->mwhere, '`checkname` as `name`,`checkid`,`name` as actname,`optdt`,`status`,`explain`,`statusname`,`valid`,`courseid`,`color`,`id`,`qmimg`','`id` asc'); $uids = $idss = ''; $dts = c('date'); $fo = m('file'); $editarrs = array(); foreach($rows as $k=>$rs){ $uids.=','.$rs['checkid'].''; $idss.=','.$rs['id'].''; $col = $rs['color']; if(isempt($col))$col='green'; if(contain($rs['statusname'],'涓') || $rs['status']=='2')$col='red'; $rows[$k]['color'] = $col; $rows[$k]['checkdt'] = $rs['optdt']; $rows[$k]['sm'] = str_replace("\n",'
', (string)$rs['explain']); $rows[$k]['explain'] = $rows[$k]['sm']; if(!isempt($rs['qmimg'])){ if(!contain($rs['qmimg'],'.')){ $qmimg = ''.UPDIR.'/'.date('Y-m').'/qmimg'.$rs['id'].'.png'; $bo = true; if(!file_exists($qmimg)){ $bar= explode(',', $rs['qmimg']); $bo = $this->rock->createtxt($qmimg, base64_decode($bar[1])); } if(!$bo){ $qmimg = $rs['qmimg']; }else{ $qmimg = ''.URL.''.$qmimg.''; } }else{ $qmimg = $rs['qmimg']; if(!file_exists($qmimg)){ $qmimg = ''; }else{ $qmimg = ''.URL.''.$qmimg.''; } } $rows[$k]['qmimg'] = $qmimg; if(!isempt($qmimg))$rows[$k]['explain']= '
'.$rs['explain'].''; } } if($idss!=''){ $farr = $fo->getfile($this->flowlogtable, substr($idss, 1)); if($farr)foreach($rows as $k=>$rs){ $fstr = $fo->getallstr($farr, $rs['id'],2); $rows[$k]['explain']= $this->strappend($rs['explain'], $fstr, '
'); } } if($uids!=''){ $rows = m('admin')->getadmininfor($rows, substr($uids, 1), 'checkid'); } $this->getlogrows[$lx] = $rows; return $rows; } public function addlog($arr=array()) { $addarr = array( 'table' => $this->mtable, 'mid' => $this->id, 'checkname' => $this->adminname, 'checkid' => $this->adminid, 'optdt' => $this->rock->now, 'courseid' => '0', 'status' => '1', 'ip' => $this->rock->ip, 'web' => $this->rock->web, 'modeid' => $this->modeid ); foreach($arr as $k=>$v)$addarr[$k]=$v; if(isset($addarr['explain']))$addarr['explain']= htmlspecialchars($addarr['explain']); $this->flogmodel->insert($addarr); $ssid = $this->db->insert_id(); $fileid = $this->rock->post('fileid'); if($fileid!='')m('file')->addfile($fileid, $this->flowlogtable, $ssid, $this->modenum.'|'.$this->id); $logfileid = $this->rock->post('logfileid'); if($logfileid!='')m('file')->addfile($logfileid, $this->flowlogtable, $ssid, $this->modenum.'|'.$this->id); $addarr['id'] = $ssid; $this->flowaddlog($addarr); $this->getlogrows = array(); return $ssid; } public function submit($na='', $sm='') { if($na=='')$na='鎻愪氦'; $isturn = 1; if($na=='淇濆瓨')$isturn = 0; $this->addlog(array( 'name' => $na, 'explain' => $sm )); if($this->isflow>0){ $marr['isturn'] = $isturn; $marr['status'] = 0; $this->rs['status'] = 0; $this->update($marr, $this->id); if(arrvalue($this->moders,'isflowlx')=='1' || $this->isflow>=3){ $this->checksmodel->delete($this->mwhere); $this->flogmodel->update('`valid`=0', ''.$this->mwhere.' and `courseid`>0 and `valid`=1'); } $farr = $this->getflow(); if($farr['nowcourseid']>0){ $sysnextoptid = $this->rock->post('sysnextoptid'); $sysnextopt = $this->rock->post('sysnextopt'); $sysnextcustidid = (int)$this->rock->post('sysnextcustidid'); if($sysnextcustidid == $farr['nowcourseid'] && !isempt($sysnextoptid) && !isempt($sysnextopt)){ $this->addcheckname($sysnextcustidid, $sysnextoptid, $sysnextopt, true, 1); $farr = $this->getflow(); } } $farr['status'] = 0; $this->savebill($farr); if($isturn == 1){ $this->nexttodo($farr['nowcheckid'],'submit'); } } $this->flowsubmit($na, $sm); $this->savecsname( $this->rock->post('syschaosongid'), $this->rock->post('syschaosong'), $this->adminid,0,$isturn,$na); if($na=='缂栬緫'){ $this->gettodosend('boedit'); }else{ $this->gettodosend('boturn'); } } private function savecsname($csnameid,$csname,$uid,$type,$isturn, $na) { if(!isempt($csnameid)){ $where = $this->mwhere.' and `type`='.$type.''; if($type>0)$where.=' and `uid`='.$uid.''; $csid = (int)$this->chaomodel->getmou('id', $where); if($csid==0)$where = ''; $this->chaomodel->record(array( 'modeid' => $this->modeid, 'table' => $this->mtable, 'mid' => $this->id, 'uid' => $uid, 'type' => $type, 'csname' => $csname, 'csnameid' => $csnameid, ),$where); if($isturn==1)$this->nexttodo($csnameid,'chao', $na); } } public function getcsname($id=0) { if($id>0){ $where= "`table`='$this->mtable' and `mid`='$id' and `type`=0"; }else{ $where= "`modeid`={$this->modeid} and `uid`={$this->adminid} and `type`=0"; $iscs = (int)$this->moders['iscs']; } $ors = $this->chaomodel->getone($where,'*','`id` desc'); $csname = $csnameid = ''; if($ors){ $csname = $ors['csname']; $csnameid = $ors['csnameid']; } return array( 'csname' => $csname, 'csnameid' => $csnameid, 'id' => $id, ); } public function zhuijiaexplain($sm='') { $this->addlog(array( 'explain' => $sm, 'name' => '杩藉姞璇存槑', 'status' => 1, )); $zt = $this->rs['status']; if($zt==2 && $this->isflow>0 && $this->adminid==$this->uid){ $marr['status'] = 0; $this->rs['status'] = 0; $this->update($marr, $this->id); $farr = $this->getflow(); $farr['status'] = 0; $this->savebill($farr); $this->nexttodo($farr['nowcheckid'],'zhui', $sm); } $this->gettodosend('bozhui','', $sm); } public function chuiban($sm='') { $this->addlog(array( 'explain' => $sm, 'name' => '鍌姙', 'status' => 1, )); $farr = $this->getflow(true); $this->nexttodo($farr['nowcheckid'],'cuiban', $sm); $this->gettodosend('cuiban','', $sm); } public function getyushen($rows) { return $rows; } private function getyushenss($id, $rows, $xu, $isq) { if($xu==0)$this->_tempauoe = array(); if(isset($rows[$id])){ $_tars = $rows[$id]; if($isq==1)$this->getyushenss($_tars['id'], $rows, $xu+1, $isq); $this->_tempauoe[] = $_tars; if($isq==0)$this->getyushenss($_tars['id'], $rows, $xu+1, $isq); } return $this->_tempauoe; } public function getflowpipei($uid=0) { $urs = $this->urs; if(!$urs)$urs = $uid; if(!is_array($urs))$urs = $this->db->getone('[Q]admin', "`id`='$urs'", '`deptid`,`deptpath`,`id`'); $coursedb = m('flowcourse'); $barr = $coursedb->pipeiCourse($this->modeid); $rows = $barr['rows']; $this->pipeiCoursearrc = $barr['rowd']; $this->pipeiCoursearrs = array(); $this->pipeiCoursearr = array(); $kqobj = m('kaoqin'); $this->getflowpipeis($rows, $urs, $kqobj); unset($this->pipeiCoursearrs); unset($this->pipeiCoursearrc); return $this->getyushen($this->pipeiCoursearr); } private function getflowpipeis($rows,$urs, $kqobj) { $shiyong = array(); $defix = $xuhao = 0; $uid = arrvalue($urs,'id',0); $zshu = count($rows); foreach($rows as $k=>$rs){ $whereid = (int)$rs['whereid']; $receid = $rs['receid']; $wherestr= arrvalue($rs, 'where'); if($rs['status']=='0')continue; if(!isempt($wherestr)){ $wherestr = m('base')->strreplace($this->rock->jm->base64decode($wherestr), $uid); $to = $this->rows("`id`='$this->id' and $wherestr "); if($to==0)continue; } if($whereid > 0){ $bo = $this->wheremanzhu($whereid); if(!$bo)continue; } if(!isempt($rs['num'])){ $bo = $this->flowcoursejudge($rs['num'], $rs); if(is_bool($bo) && !$bo)continue; } $xuhao++; if($defix==0 && (isempt($receid) || contain($receid,'all'))){ $defix = $xuhao; } if(isempt($receid) && (!isempt($wherestr) || $whereid > 0)){ $defix = $xuhao; } $rs['xuhao'] = $xuhao; $shiyong[] = $rs; } $pboss = false; if($shiyong){ $gxuha = $kqobj->getpipeimid($urs, $shiyong, 'xuhao', $defix); if($gxuha>0){ $pboss = true; $gxuha = $gxuha-1; $prs = $shiyong[$gxuha]; $this->getflowpipeisss($prs, $urs, $kqobj); } } if(!$pboss && $zshu==1 && $rows[0]['childshu']>0){ $this->getflowpipeis($rows[0]['children'], $urs, $kqobj); } } private function getflowpipeisss($prsnrs, $urs, $kqobj) { $prs = $prsnrs; unset($prs['children']); $this->pipeiCoursearrs[]= $prs['id']; $this->pipeiCoursearr[] = $prs; if($prs['childshu']>0){ $this->getflowpipeis($prsnrs['children'], $urs, $kqobj); }else{ $nid = arrvalue($prs,'nid','0'); if($nid>0 && !in_array($nid, $this->pipeiCoursearrs) && isset($this->pipeiCoursearrc, $nid)){ $this->getflowpipeis(array($this->pipeiCoursearrc[$nid]), $urs, $kqobj); } } } public function getflow($sbo=false) { $this->flowarr = array(); $allcheckid = $nowcheckid = $nowcheckname = $nstatustext = ''; $allcheckids = array(); $nowcourseid = 0; $nstatus = $this->rs['status']; $this->nowcourse = array(); $this->nextcourse = array(); $this->flowisend = 0; $curs = $this->flogmodel->getrows($this->mwhere,'checkid,checkname,courseid,`valid`,`status`,`statusname`,`name`,`iszb`','id desc'); $cufss = $ztnas = $chesarr = array(); foreach($curs as $k=>$rs){ if($rs['iszb']=='1' && !in_array($rs['checkid'], $allcheckids))$allcheckids[] = $rs['checkid']; if($rs['courseid']=='0')continue; $_su = ''.$rs['courseid'].''; $_su1 = ''.$rs['courseid'].'_'.$rs['checkid'].''; if($rs['valid']==1 && in_array($rs['status'], $this->flowstatusarr)){ if(!isset($cufss[$_su]))$cufss[$_su]=0; $cufss[$_su]++; $chesarr[$_su1] = 1; } if(!in_array($rs['checkid'], $allcheckids))$allcheckids[] = $rs['checkid']; if($nstatustext=='' && $rs['courseid']>0){ $nstatustext = ''.$rs['checkname'].'澶勭悊'.$rs['statusname'].''; $nstatus = $rs['status']; } $ztnas[$rs['courseid']] = ''.$rs['checkname'].''.$rs['statusname'].''; } $nowstep = $zongsetp = -1; $isend = 0; $czt = $this->rs['status']; $coutye = 0; $rows = ($czt==1 || $czt==5)? array() : $this->getflowpipei($this->uid); if($rows){ $checksa = $this->checksmodel->getrows($this->mwhere.' and `addlx`=3'); $coursea = $nrows = array(); foreach($checksa as $k=>$rs)$coursea[$rs['courseid']]='1'; $nrows = array(); $allcheckid = ''; $isoptsuperbo = false; foreach($rows as $k=>$rs){ $uarr = $this->getcheckname($rs); $rows[$k]['checkid'] = $uarr[0]; $rows[$k]['checkname'] = $uarr[1]; $allcheckid .= ','.$uarr[0].''; if($rs['checktype']=='optsuper' && isempt($uarr[0]))$isoptsuperbo=true; } if($isoptsuperbo)foreach($rows as $k=>$rs){ if($rs['checktype']=='optsuper'){ $_k1 = $k-1; $_uid = $this->optid; if($_k1>=0){ $ours = $this->flogmodel->getone($this->mwhere.' and `courseid`='.$rows[$_k1]['id'].' and `valid`=1 ','`checkid`','`id` desc'); if(!$ours){ $_uid = (int)$rows[$_k1]['checkid']; }else{ $_uid = $ours['checkid']; } } $uarr = $this->adminmodel->getsuperman($_uid); if($uarr){ $rows[$k]['checkid'] = $uarr[0]; $rows[$k]['checkname'] = $uarr[1]; } } } foreach($rows as $k=>$rs){ $nrows[] = $rs; if($rs['checktype']=='superall'){ $ids1 = $rs['id']; $suparr = $this->adminmodel->getsuperarr($this->uid); if($suparr){ $logdsar = $this->getlog(); foreach($logdsar as $k1=>$rs1){ if($rs1['courseid']>0 && $rs1['status']=='1' && $rs1['valid']=='1')$allcheckid .= ','.$rs1['checkid'].''; } foreach($suparr as $k1=>$surs){ if(!contain(','.$allcheckid.',', ','.$surs['id'].',')){ $rs['oldid'] = $ids1; $rs['id'] = $ids1 * 99999 + $surs['id']; $rs['checkid'] = $surs['id']; $rs['checkname'] = $surs['name']; $rs['iszf'] = 0; $nrows[] = $rs; $allcheckid .= ','.$surs['id'].''; } } } } } $yisheh = ''; if($this->isflow==2){ $logdsar = $this->getlog(); foreach($logdsar as $k1=>$rs1) if($rs1['courseid']>0 && $rs1['status']==1 && $rs1['valid']==1)$yisheh .= ','.$rs1['checkid'].''; } $jwcllx = arrvalue($this->moders, 'jwcllx','0'); foreach($nrows as $k=>$rs){ $whereid = (int)$rs['whereid']; $checkshu = $rs['checkshu']; $checkid = $rs['checkid']; $checkname = $rs['checkname']; $checktype = $rs['checktype']; if($this->isflow==2 && !isempt($checkid) && isempt($rs['checkfields'])){ if(($checkid==$this->uid || $checkid==$this->optid) )continue; $k2 = $k+1; $ntype = 'yes'; if(isset($nrows[$k2])){ if($nrows[$k2]['checktype']=='change')$ntype='no'; } if($ntype=='yes' && contain(','.$yisheh.',',','.$checkid.','))continue; } if(!isempt($checkid))$yisheh .= ','.$checkid.''; $zongsetp++; $ischeck = 0; $checkids = $checknames = ''; $_su = ''.$rs['id'].''; $nowshu = 0; if(isset($cufss[$_su]))$nowshu = $cufss[$_su]; if(!$this->isempt($checkid)){ $checkida = explode(',', $checkid); $checkidna = explode(',', $checkname); $_chid = $_chna = ''; foreach($checkida as $k1=>$chkid){ $_su1 = ''.$rs['id'].'_'.$chkid.''; if($jwcllx == 0 && !in_array($chkid, $allcheckids))$allcheckids[] = $chkid; if(!isset($chesarr[$_su1])){ $_chid.=','.$chkid.''; $_chna.=','.arrvalue($checkidna, $k1).''; } } if($_chid!='')$_chid = substr($_chid, 1); if($_chna!='')$_chna = substr($_chna, 1); if($_chid==''){ $ischeck = 1; }else{ if($checkshu>0&&$nowshu>=$checkshu)$ischeck = 1; } $checkids = $_chid; $checknames = $_chna; }else{ if($checkshu>0&&$nowshu>=$checkshu)$ischeck = 1; if($checkshu == 0 && $nowshu>0)$ischeck = 1; } if($ischeck==0 && $coutye==0){ if((int)arrvalue($rs,'coursetype','0')>0)$coutye = 1; } $rs['ischeck'] = $ischeck; $rs['islast'] = 0; $rs['checkid'] = $checkid; $rs['checkname'] = $checkname; $rs['nowcheckid'] = $checkids; $rs['nowcheckname'] = $checknames; $rs['isnow'] = 0; $rs['nowstep'] = $zongsetp; $rs['step'] = $k+1; if($ischeck==0 && $nowstep==-1){ $rs['isnow']= 1; $nowstep = $zongsetp; $this->nowcourse = $rs; $nowcourseid = $rs['id']; $nowcheckid = $checkids; $nowcheckname = $checknames; } if($nowstep>-1 && $zongsetp==$nowstep+1)$this->nextcourse = $rs; $this->flowarr[]= $rs; } } if($zongsetp>-1)$this->flowarr[$zongsetp]['islast']=1; if($nowstep == -1){ $isend = 1; }else{ $nstatustext = '寰'.$nowcheckname.'澶勭悊'; } $this->flowisend = $isend; $allcheckid = join(',', $allcheckids); $arrbill['allcheckid'] = $allcheckid; $arrbill['nowcourseid'] = $nowcourseid; $arrbill['nowcheckid'] = $nowcheckid; $arrbill['nowcheckname'] = $nowcheckname; $arrbill['nstatustext'] = $nstatustext; $arrbill['nstatus'] = $nstatus; $arrbill['status'] = $this->rs['status']; $arrbill['isturn'] = $this->rs['isturn']; if($sbo)$this->getflowsave($arrbill); return $arrbill; } public function wheremanzhu($id) { $uid = $this->uid; $ser = $this->wheremodel->getflowwhere($id, $uid); if(!$ser)return true; $str = $ser['ntr']; if(!isempt($str)){ $to = $this->db->rows('[Q]admin',"`id`='$uid' and ($str)"); if($to>0)return false; } $str = $ser['str']; if(!isempt($str)){ $str= str_replace('{asqom}','', $str); $to = $this->rows("`id`='$this->id' and $str"); if($to==0)return false; } $str = $ser['utr']; if(!isempt($str)){ $to = $this->db->rows('[Q]admin',"`id`='$uid' and $str"); if($to==0)return false; } return true; } public function getflowsave($sarr, $suvu=false) { if(!$sarr)return; if($suvu)$sarr['updt'] = $this->rock->now; $this->billmodel->update($sarr, $this->mwhere); } private function getcheckname($crs) { $type = $crs['checktype']; $cuid = $name = ''; $courseid= $crs['id']; $cheorws = $this->checksmodel->getall($this->mwhere.' and `courseid`='.$courseid.'','checkid,checkname'); if($cheorws){ foreach($cheorws as $k=>$rs){ $lxss = $rs['checkid']; if(isempt($lxss) || $lxss=='0')continue; $cuid.=','.$lxss.''; $name.=','.$rs['checkname'].''; } if($cuid != ''){ $cuid = substr($cuid, 1); $name = substr($name, 1); return array($cuid, $name); } } if(!$this->isempt($crs['num'])){ $uarr = $this->flowcheckname($crs['num']); if(is_array($uarr)){ if(!$this->isempt($uarr[0]))return $uarr; } } if($type=='super' || $type=='superall'){ $cuid = $this->urs['superid']; $name = $this->urs['superman']; } if($type=='dept' || $type=='super' || $type=='superall'){ if($this->isempt($cuid) && $this->drs){ $cuid = $this->drs['headid']; $name = $this->drs['headman']; } } if($type=='apply'){ $cuid = $this->urs['id']; $name = $this->urs['name']; } if($type=='opt'){ $cuid = $this->rs['optid']; $name = $this->rs['optname']; if(isempt($cuid)){ $cuid = $this->urs['id']; $name = $this->urs['name']; } } if($type=='user'){ $cuid = $crs['checktypeid']; $name = $crs['checktypename']; } if($type=='rank'){ $rank = $crs['checktypename']; if(!$this->isempt($rank)){ $wheer1 = $this->adminmodel->getcompanywhere(5,'',$this->companyid); $rnurs = $this->db->getrows('[Q]admin',"`status`=1 and `ranking`='$rank' ".$wheer1."",'id,name','sort'); foreach($rnurs as $k=>$rns){ $cuid.=','.$rns['id'].''; $name.=','.$rns['name'].''; } if($cuid != ''){ $cuid = substr($cuid, 1); $name = substr($name, 1); } } } if($type=='cname'){ $cnbar = $this->cnamemodel->getcheckname($crs['checktypeid'], $this->uid); $cuid = arrvalue($cnbar, 0); $name = arrvalue($cnbar, 1); } if($type=='field'){ $fids = $crs['checktypeid']; if(!isempt($fids)){ $vals = ''; $farrs= explode(',', $fids); foreach($farrs as $fid){ $vid = arrvalue($this->rs, $fid); if(!isempt($vid))$vals.=','.$vid.''; } if($vals!=''){ $vals = substr($vals, 1); $uarr = $this->adminmodel->getrows('`status`=1 and `id` in('.$vals.')','id,name','FIELD(`id`,'.$vals.')'); foreach($uarr as $k=>$rs){ $cuid.=','.$rs['id'].''; $name.=','.$rs['name'].''; } if($cuid != ''){ $cuid = substr($cuid, 1); $name = substr($name, 1); } } } } $cuid = $this->rock->repempt($cuid); $name = $this->rock->repempt($name); return array($cuid, $name); } public function createbianhao($num, $fid, $wshu=3) { if(isempt($num))$num=''.$this->modenum.'-'; @$appdt = $this->rs['applydt']; if(isempt($appdt))$appdt = $this->rock->date; $apdt = str_replace('-','', substr($appdt,0,10)); $num = str_replace('Ymd',$apdt,$num); return $this->db->sericnum($num,'[Q]'.$this->mtable.'', $fid, $wshu); } public function createinputnum($num, $fid) { $acta = ''; if(method_exists($this, $num)){ $acta = $num; }else{ if(contain($num, ',')){ $arra = explode(',', $num); $acta = $arra[0]; $num = $arra[1]; } } if($acta && method_exists($this, $acta)){ $barr = $this->$acta($num); if(is_array($barr)){ $qom = arrvalue($barr, 'qom', $num); $wshu= arrvalue($barr, 'wshu', 3); $bom = arrvalue($barr, 'bom'); $fields = arrvalue($barr, 'fields', $fid); return $this->createbianhao($qom, $fields, $wshu).$bom; }else{ if(isempt($barr))$barr = $num; return $this->createbianhao($barr, $fid); } }else{ return $this->createbianhao($num, $fid); } } public function createnum() { $num = $this->moders['sericnum']; if($num=='鏃'||$this->isempt($num))$num='TM-Ymd-'; @$appdt = $this->rs['applydt']; if(isempt($appdt))$appdt = $this->rock->date; $apdt = str_replace('-','', $appdt); $num = str_replace('Ymd',$apdt,$num); return $this->db->sericnum($num,'[Q]flow_bill', 'sericnum', 3); } public function savebill($oarr=array()) { $dbs = $this->billmodel; $whes= $this->mwhere; $birs= $dbs->getone($whes); $arr = array( 'table' => $this->mtable, 'mid' => $this->id, 'optdt' => isset($this->rs['optdt']) ? $this->rs['optdt'] : $this->rock->now, 'optname' => arrvalue($this->rs,'optname', $this->adminname), 'optid' => arrvalue($this->rs,'optid', $this->adminid), 'modeid' => $this->modeid, 'updt' => $this->rock->now, 'isturn' => $this->rs['isturn'], 'nstatus' => $this->rs['status'], 'applydt' => $this->rs['applydt'], 'modename' => $this->modename, 'uname' => $this->rs['base_name'], 'udeptname' => $this->rs['base_deptname'], 'uid' => $this->uid, 'isdel' => '0', ); foreach($oarr as $k=>$v)$arr[$k]=$v; if(!$birs){ $arr['status'] = $arr['nstatus']; $arr['createdt']= $arr['optdt']; $arr['sericnum']= $this->createnum(); $arr['udeptid'] = $this->rock->post('sysudeptid', arrvalue($this->urs,'deptid')); $whes = ''; $this->sericnum = $arr['sericnum']; }else{ $udeptid = $birs['udeptid']; if($udeptid==0)$arr['udeptid']= arrvalue($this->urs,'deptid'); } $fstr = $this->rock->post('sysflow5str'); if($fstr)$arr['flow5str'] = $fstr; $dbs->record($arr, $whes); return $arr; } public function getsummary() { return $this->rock->reparr($this->moders['summary'], $this->rs); } public function addcheckname($courseid, $uid, $uname, $onbo=false, $addlx=0) { if(isempt($uid)){$uid = '0';$uname= 'auto';} $uida = explode(',', ''.$uid.''); $uidan = explode(',', $uname); if($onbo)$this->checksmodel->delete($this->mwhere.' and `courseid`='.$courseid.''); if($uida)foreach($uida as $k=>$uid){ $uname = $this->rock->arrvalue($uidan, $k); $zyarr = array( 'table' => $this->mtable, 'mid' => $this->id, 'modeid' => $this->modeid, 'courseid' => $courseid, 'optid' => $this->adminid, 'optname' => $this->adminname, 'addlx' => $addlx, 'optdt' => $this->rock->now, 'status' => 0 ); $this->checksmodel->delete($this->mwhere.' and `checkid`='.$uid.' and `courseid`='.$courseid.''); $zyarr['checkid'] = $uid; $zyarr['checkname'] = $uname; $this->checksmodel->insert($zyarr); } if($addlx==4)$this->checksmodel->delete($this->mwhere.' and `checkid`='.$this->adminid.' and `courseid`='.$courseid.''); } public function savedatastr($fval, $farr, $data=array()) { $str = ''; if(!$farr)return $str; $savewhere = $farr['savewhere']; $name = $farr['name']; $types = $farr['fieldstype']; if(isempt($savewhere) || isempt($fval))return $str; $savewhere = str_replace(array('{0}','{date}','{now}'), array($name, $this->rock->date,$this->rock->now), $savewhere); $savewhere = $this->rock->reparr($savewhere, $data); $saees = explode(',', $savewhere); if($types=='date' || $types=='datetime')$fval = strtotime($fval); if($types=='number')$fval = floatval($fval); foreach($saees as $saeess){ $fsaed = explode('|', $saeess); $msg = isset($fsaed[2]) ? $fsaed[2] : ''.$name.'鏁版嵁涓嶇鍙'; $val = isset($fsaed[1]) ? $fsaed[1] : ''; $lfs = $fsaed[0]; if($val != ''){ if($types=='date' || $types=='datetime')$val = strtotime($val); if($types=='number')$val = floatval($val); if($lfs=='gt'){$bo = $fval>$val;if(!$bo)return $msg;} if($lfs=='egt'){$bo = $fval>=$val;if(!$bo)return $msg;} if($lfs=='lt'){$bo = $fval<$val;if(!$bo)return $msg;} if($lfs=='elt'){$bo = $fval<=$val;if(!$bo)return $msg;} if($lfs=='eg'){$bo = $fval==$val;if(!$bo)return $msg;} if($lfs=='neg'){$bo = $fval!=$val;if(!$bo)return $msg;} } } return $str; } public function update($arr, $where) { if(is_array($arr)){ foreach($arr as $k=>$v)$this->rs[$k]=$v; } return parent::update($arr,$where); } public function updatelogvalid($whe) { $this->flogmodel->update('valid=0', $this->mwhere.' '.$whe); } public function strappend($sm, $str, $fh=',') { if(isempt($str))return $sm; if(!isempt($sm))$sm.=$fh; $sm.=$str; return $sm; } public function checkerror($lx=1,$sm='') { if($sm=='')$sm='鍗曟嵁寮傚父绠$悊鍛樺鐞'; $msg = $this->check($lx, $sm, 1); return $msg; } public function check($zt, $sm='', $lx=0) { if($this->rs['status']==1)return '娴佺▼宸插鐞嗗畬鎴,鏃犻渶鎿嶄綔'; $arr = $this->getflow(); $flowinfor = $this->getflowinfor(); if($flowinfor['ischeck']==0 && $lx==0)return '褰撳墠鏄痆'.$arr['nowcheckname'].']澶勭悊'; $nowcourse = $this->nowcourse; if($lx==1){ if($arr['nowcourseid']!=0)return '褰撳墠鏈夊鏍告楠D鏄瓨鍦ㄧ殑涓嶈兘鐩存帴鏍囪瘑宸插畬鎴'; $to = $this->flogmodel->rows($this->mwhere.' and `courseid`>0 and `status`=1'); if($to==0)return '璇ュ崟鎹病鏈変换浣曢氳繃瀹℃牳澶勭悊涓嶈兘鐩存帴鏍囪瘑宸插畬鎴愭垨宸插鏍'; $nowcourse = array('id'=>66666,'name'=>'寮傚父澶勭悊','step'=>0); } $nextcourse = $this->nextcourse; $zynameid = $this->rock->post('zynameid'); $zyname = $this->rock->post('zyname'); $csnameid = ''; $csname = ''; $nextname = $this->rock->post('nextname'); $nextnameid = $this->rock->post('nextnameid'); $qmimgstr = $this->rock->post('qmimgstr'); $tuiid = (int)$this->rock->post('tuiid'); $iszhuanyi = $ischangenext = 0; if($zt==1 && $this->isflow!=3 && isempt($zynameid) && arrvalue($nextcourse,'checktype')=='change'){ $ischangenext = 1; } if($zt!=2)$tuiid = 0; $istongyi = in_array($zt, $this->flowstatusarr); if($zynameid!='' && $istongyi){ if($zynameid==$this->adminid)return '涓嶈兘杞粰鑷繁'; $sm = $this->strappend($sm, '杞粰锛'.$zyname.''); $iszhuanyi = 1; $this->rs['syszb_name'] = $zyname; $this->rs['syszb_nameid'] = $zynameid; } if($nextnameid=='' && $ischangenext==1)return '璇烽夋嫨涓嬩竴姝ュ鐞嗕汉'; $ufied = array(); if($iszhuanyi == 0 && $zt!=2){ foreach($flowinfor['checkfields'] as $chef=>$chefv){ $ufied[$chef] = $_val = $this->rock->post('cfields_'.$chef.''); if(isempt($_val) && $chefv['isbt']=='1')$this->echomsg(''.$chefv['name'].'涓嶈兘涓虹┖'); $_stype = arrvalue($chefv, 'fieldstype'); if($_stype=='graph')$ufied[$chef] = c('input')->createqianming($_val); $_str = $this->savedatastr($_val, $chefv['fieldsarr'], $this->rs); if($_str!='')$this->echomsg($_str); } } $this->checkiszhuanyi = $iszhuanyi; $barr = $this->flowcheckbefore($zt, $ufied, $sm); $msg = ''; if(is_array($barr) && isset($barr['msg']))$msg = $barr['msg']; if(is_array($barr) && isset($barr['update'])){ foreach($barr['update'] as $_k=>$_v)$ufied[$_k] = $_v; } if(is_string($barr))$msg = $barr; if(!isempt($msg))return $msg; if($ufied){ $bo = $this->update($ufied, $this->id); if(!$bo)return 'dberr:'.$this->db->error(); } $courseact = $flowinfor['courseact']; $act = $courseact[$zt]; $statusname = $act[0]; $statuscolor= $act[1]; $nzt = $act[2]; $courseid = $nowcourse['id']; $this->checksmodel->update('`status`='.$zt.'', $this->mwhere.' and `checkid`='.$this->adminid.' and `courseid`='.$courseid.''); if($iszhuanyi == 1){ $this->addcheckname($courseid, $zynameid, $zyname, false, 4); $nowcourse['id'] = 0; } if($ischangenext==1){ $this->addcheckname($nextcourse['id'], $nextnameid, $nextname, true, 1); } $tuirs = array(); if($tuiid > 0)$tuirs = $this->flogmodel->getone($tuiid); if(!$tuirs)$tuiid = 0; if($tuiid>0){ $sm = $this->strappend($sm, '閫鍥炲埌['.$tuirs['name'].'('.$tuirs['checkname'].')]'); $statusname = '閫鍥'; $statuscolor = '#17B2B7'; } $this->checkistui = $tuiid; $logsm = $sm; if($iszhuanyi==0 && $csname)$logsm = $this->strappend($logsm,'鎶勯佺粰锛'.$csname.''); $this->lastlogid = $this->addlog(array( 'courseid' => $nowcourse['id'], 'name' => $nowcourse['name'], 'step' => $nowcourse['step'], 'status' => $zt, 'statusname'=> $statusname, 'color' => $statuscolor, 'explain' => $logsm, 'iszb' => $iszhuanyi, 'qmimg' => $qmimgstr )); if($tuiid > 0){ $this->addcheckname($tuirs['courseid'], $tuirs['checkid'], $tuirs['checkname'], true, 3); $this->updatelogvalid('and `courseid`>0 and `status`=1 and `step`>='.$tuirs['step'].''); } $lzt = $this->rock->repempt($nzt, $zt); $uparr = $nexttodoarr = $nexttodoarc = array(); $bsarr = $this->getflow(); $bsarr['tuiid'] = $tuiid; $nextcheckid = $bsarr['nowcheckid']; if($istongyi){ if($iszhuanyi==0){ $uparr['status']= $this->rock->repempt($nzt,'0'); } $nexttodoarr = array($nextcheckid, 'next', $sm, $statusname); }else{ if($tuiid>0){ $lzt = 23; $nexttodoarr = array($nextcheckid, 'tui', $sm, $statusname); }elseif($zt==2){ $nexttodoarr = array($this->optid, 'nothrough', $sm, $statusname); } $uparr['status'] = $lzt; } $this->flowcheckafter($zt, $sm, $nowcourse); $bsarr['nstatus'] = $lzt; $bsarr['checksm'] = $sm; if(!$this->nowcourse){ $uparr['status'] = $lzt; $nexttodoarc = array($this->optid, 'finish', $sm, ''); } if($uparr){ $this->update($uparr, $this->id); } if(!$this->nowcourse){ $this->flowcheckfinsh($zt); if($istongyi){ $this->checksmodel->delete($this->mwhere); } } $bsarr['status'] = $this->rs['status']; $this->getflowsave($bsarr, true); if($this->db->backsql()){ $bos = ($courseid == arrvalue($this->nowcourse, 'id') && $istongyi); if($nexttodoarr && (!$bos || $iszhuanyi==1))$this->nexttodo($nexttodoarr[0],$nexttodoarr[1],$nexttodoarr[2],$nexttodoarr[3]); if($nexttodoarc)$this->nexttodo($nexttodoarc[0],$nexttodoarc[1],$nexttodoarc[2],$nexttodoarc[3]); } if($iszhuanyi == 1){ $this->gettodosend('bozhuan','', $sm, 0, ''.$this->adminname.'灏哰'.$nowcourse['name'].']杞粰:'.$zyname.''); }else{ if($istongyi)$this->gettodosend('botong', $statusname, $sm, $nowcourse['id']); if($zt==2)$this->gettodosend('bobutong',$statusname, $sm, $nowcourse['id']); if(!$this->nowcourse && $istongyi)$this->gettodosend('bofinish', '', $sm); } if($iszhuanyi==0){ $sm1 = '鍦ㄢ'.$nowcourse['name'].'鈥濆鐞'.$statusname.''; $this->savecsname($csnameid,$csname,$this->adminid,$nowcourse['id'],1, $sm1); } return 'ok'; } public function pushs($receid, $cont, $title='', $params=array()) { return $this->push($receid,'', $cont, $title, 0, $params); } public function getxiangurl($num='', $id=0, $lx='x') { if($num=='')$num = $this->modenum; if($id==0)$id = $this->id; $url = URL; if($lx=='auto')$lx = ($this->ismobile==1)?'x':'p'; if($lx=='x' || $lx=='a')$url = $this->rock->getouturl(); $url = ''.$url.'task.php?a='.$lx.'&num='.$num.'&mid='.$id.''; if(COMPANYNUM)$url.='&dwnum='.COMPANYNUM.''; return $url; } public function getxiangurlx($num='',$id=0){return $this->getxiangurl($num,$id,'x');} public function push($receid, $gname='', $cont='', $title='', $wkal=0, $params=array()) { if(isempt($receid) && $wkal==1)$receid='all'; if(isempt($receid))return false; if(contain(','.$receid.',', ',d1,'))$receid='all'; $modenum = arrvalue($params, 'modenum', $this->modenum); $modename = arrvalue($params, 'modename', $this->modename); $id = (int)arrvalue($params, 'id', $this->id); $moders = arrvalue($params, 'moders'); if(!is_array($moders))$moders = $this->moders; if($gname=='')$gname = $modename; $reim = m('reim'); $url = $this->getxiangurl($modenum, $id, 'p'); $wxurl = $this->getxiangurl($modenum, $id, 'x'); $emurl = $this->getxiangurl($modenum, $id, 'a'); if($id==0){ $url = '';$wxurl = '';$emurl=''; } $url = arrvalue($params, 'url', $url); $wxurl = arrvalue($params, 'wxurl', $wxurl); $emurl = arrvalue($params, 'emurl', $emurl); $slx = 0; $pctx = $moders['pctx']; $mctx = $moders['mctx']; $wxtx = $moders['wxtx']; $ddtx = $moders['ddtx']; $emtx = $moders['emtx']; if($pctx==0 && $mctx==1)$slx=2; if($pctx==1 && $mctx==0)$slx=1; if($pctx==0 && $mctx==0)$slx=3; $this->rs['now_adminname'] = $this->adminname; $this->rs['now_modename'] = $modename; $cont = $this->rock->reparr($cont, $this->rs); $receido= $receid; $receid = $this->adminmodel->gjoins($receid); $uids = m('todo')->addtodo($receid, $modename, $cont, $modenum, $id); if($uids!='' && $moders['type'] != '绯荤粺' && $id > 0)$this->todosmodel->addtotouids($uids, array( 'table' => $moders['table'], 'mid' => $id, 'modename' => $modename, 'modenum' => $modenum, )); $title = $this->rock->reparr($title, $this->rs); $reim->pushagent($uids, $gname, $cont, $title, $url, $wxurl, $slx, ''.$modenum.'|'.$id.''); $this->flowchangetodo($uids, $gname); if(isempt($title))$title = $modename; $this->flowweixinarr=array(); return $receid; } public function nexttodo($nuid, $type, $sm='', $act='') { $cont = ''; $tit = ''; $gname = '娴佺▼寰呭姙'; $summary= $this->getsummary(); if($type=='submit' || $type=='next' || $type == 'cuiban'){ $cont = '浣犳湁['.$this->uname.']鐨刐'.$this->modename.',鍗曞彿:'.$this->sericnum.']闇瑕佸鐞'; if($sm!='')$cont.='锛岃鏄:'.$sm.''; $tit = ''.$this->uname.'鐨'.$this->modename.''; if($type != 'cuiban'){ $txnum = $this->option->getval('sms_txnum'); if(!isempt($txnum)){ $mknum = $this->option->getval('sms_mknum'); if($mknum=='all' || contain(','.$mknum.',',','.$this->modenum.',')){ $wxurl = $this->getxiangurlx(); $barr = c('xinhuapi')->sendsms($nuid, '', $txnum, array( 'modename' => $this->modename, 'sericnum' => $this->sericnum, 'applyname'=> $this->uname, 'deptname' => $this->rs['base_deptname'], ),$wxurl); } } } $type = 'daiban'; } if($type == 'nothrough'){ $cont = '浣犳彁浜'.$this->modename.',鍗曞彿:'.$this->sericnum.']'.$this->adminname.'澶勭悊['.$act.']锛屽師鍥:['.$sm.']'; $gname= '娴佺▼鐢宠'; $tit = ''.$this->modename.'澶勭悊'.$act.''; } if($type == 'finish'){ $cont = '浣犳彁浜ょ殑['.$this->modename.',鍗曞彿:'.$this->sericnum.']宸插叏閮ㄥ鐞嗗畬鎴'; $gname= '娴佺▼鐢宠'; $tit = ''.$this->modename.'鍏ㄩ儴澶勭悊瀹屾垚'; } if($type == 'zhui'){ $cont = ''.$this->adminname.'杩藉姞鍗曟嵁璇存槑['.$this->modename.',鍗曞彿:'.$this->sericnum.']锛岃鏄:['.$sm.']'; } if($type == 'tui'){ $cont = '['.$this->adminname.']閫鍥炲崟鎹甗'.$this->modename.',鍗曞彿:'.$this->sericnum.']鍒颁綘杩欒鍙婃椂澶勭悊锛岃鏄:'.$sm.''; } if($type == 'chao'){ $cont = ''.$this->adminname.''.$sm.'浜嗏'.$this->modename.'鈥'; if(!isempt($summary))$cont.='锛屾憳瑕佲'.$summary.'鈥'; if($this->isflow>0)$cont.='锛屽崟鍙封'.$this->sericnum.'鈥'; $gname= ''; $tit = ''.$this->modename.'鐨勫崟鎹妱閫'; } if($type=='pinglun'){ $cont = ''.$this->adminname.''.$act.'浣犵殑['.$this->modename.']鍗曟嵁锛岃鏄:'.$sm.''; $gname = ''; $tit = ''.$this->modename.'璇勮'; } if($type=='receipt'){ $cont = ''.$this->adminname.''.$act.'['.$this->modename.']鐨勫崟鎹'; if($sm!='')$cont.='锛岃鏄:'.$sm.''; $gname = '鍥炴墽纭'; $tit = ''.$this->modename.'鍥炴墽纭'; } $nbis = $this->flownexttodo($type); if($nbis){ if(is_string($nbis))$cont = $nbis; if(is_array($nbis)){ $tit = arrvalue($nbis, 'title', $tit); $gname = arrvalue($nbis, 'gname', $gname); $cont = arrvalue($nbis, 'cont', $cont); } } if($cont!='')$this->push($nuid, $gname, $cont, $tit); } public function getwxurl($num='') { if($num=='')$num = $this->modenum; $url = $this->rock->getouturl(); $str = ''.$url.'?m=ying&d=we&num='.$num.''; return $str; } public function getweurl($num='') { if($num=='')$num = $this->modenum; $url = $this->rock->getouturl(); $str = ''.$url.'?m=ying&d=we&mnum='.$num.''; return $str; } public function deletebill($sm='', $qxpd=true) { if(getconfig('systype')=='demo')return '婕旂ず璇峰嬁鍒犻櫎'; if($qxpd){ $is = $this->isdeleteqx(); if($is==0)return '鏃犳潈鍒犻櫎'; } if(method_exists($this,'flowdeletebillbefore')){ $bstr = $this->flowdeletebillbefore($sm); if(!isempt($bstr))return $bstr; } $modewhere = "`modenum`='".$this->modenum."' and `mid`=".$this->id.""; $this->flogmodel->delete($this->mwhere); m('reads')->delete($this->mwhere); m('file')->delfile('', "`mtype`='".$this->mtable."' and `mid`=".$this->id." and `id` not in(select `fileid` from `[Q]files` where `type`=3)"); $tables = $this->moders['tables']; if(!isempt($tables)){ $arrse = explode(',', $tables); foreach($arrse as $arrses)m($arrses)->delete('mid='.$this->id.''); } $this->billmodel->delete($this->mwhere); $this->todosmodel->delete($this->mwhere); $this->checksmodel->delete($this->mwhere); $this->chaomodel->delete($this->mwhere); m('remind')->delete($this->mwhere); m('todo')->delete($this->mwhere); m('todo')->delete($modewhere); m('receipt')->delete($this->mwhere); m('im_history')->delete("`xgurl`='".$this->modenum."|".$this->id."'"); m('files')->delete("`ip`='".$this->modenum."|".$this->id."'"); $this->delete($this->id); $this->flowdeletebill($sm); $this->flowzuofeibill($sm); $this->gettodosend('bodel','', $sm); $dels = '鍒犻櫎妯″潡['.$this->modename.']id涓'.$this->id.'鐨勫崟鎹'; $ztss = arrvalue($this->rs,'base_summary'); if(!isempt($ztss))$dels.=',鎽樿['.$ztss.']'; if(!isempt($sm))$dels.=',璇存槑:'.$sm.''; m('log')->addlogs('鍒犻櫎鍗曟嵁', $dels, 3); foreach($this->wherejoin as $num=>$fields){ $this->deletebilljoin($num, "`$fields`='$this->id'", $sm); } return 'ok'; } public function deletebilljoin($num, $where, $sm='') { $flow = m('flow')->initflow($num); $rows = $flow->getall($where); foreach($rows as $k1=>$rs1){ $mid = $rs1['id']; $flow->loaddata($mid, false); $flow->deletebill($sm, false); } } public function zuofeibilljoin($num, $where, $sm='') { $flow = m('flow')->initflow($num); $rows = $flow->getall($where); foreach($rows as $k1=>$rs1){ $mid = $rs1['id']; $flow->loaddata($mid, false); $flow->zuofeibill($sm); } } public function zuofeibill($sm='') { $this->addlog(array( 'explain' => $sm, 'name' => '浣滃簾', 'status' => 1, )); $this->update('`status`=5', $this->id); $zfarr = array( 'status' => 5, 'nstatus' => 5, 'checksm' => '浣滃簾锛'.$sm.'', 'nowcheckid' => '', 'nowcheckname' => '', 'nstatustext' => '浣滃簾', 'updt' => $this->rock->now, ); $this->billmodel->update($zfarr, $this->mwhere); $tables = $this->moders['tables']; if(!isempt($tables)){ $arrse = explode(',', $tables); foreach($arrse as $arrses)m($arrses)->delete('mid='.$this->id.''); } $this->flowzuofeibill($sm); $this->gettodosend('bozuofei','', $sm); foreach($this->wherejoin as $num=>$fields){ $this->zuofeibilljoin($num, "`$fields`='$this->id'", $sm); } return 'ok'; } public function openxiang() { $xiangdata = $btndata = array(); $data = $this->flowrsreplace($this->rs,4); foreach($this->fieldsarra as $k=>$rs){ if($rs['iszs']=='1'){ $xiangdata[] = array( 'name' => $rs['name'], 'fields'=> $rs['fields'], 'value' => $this->rock->repempt(arrvalue($data,$rs['fields'])) ); } } $barr['xiangdata'] = $xiangdata; $btnrows = $this->db->getrows('[Q]flow_menu',"`setid`='$this->modeid' and `status`=1 and `num` like 'open%'",'id,wherestr,name,num,issm,type','`sort`'); foreach($btnrows as $k=>$rs){ $wherestr = $rs['wherestr']; $bo = false; if(isempt($wherestr)){ $bo = true; }else{ $ewet = $this->wheremodel->getstrwhere($this->rock->jm->base64decode($wherestr)); $ewet = str_replace(array('{asqom}','1=2 and'),'', $ewet); $tos = $this->rows("`id`='$this->id' and $ewet"); if($tos>0)$bo = true; } if($bo)$btndata[] = array( 'id' => $rs['id'], 'name' => $rs['name'], 'issm' => $rs['issm'], ); } $barr['btndata'] = $btndata; if(method_exists($this,'flowopenxiang')){ $lbarr = $this->flowopenxiang($data,$xiangdata,$btndata); if(is_array($lbarr))foreach($lbarr as $k=>$v)$barr[$k]=$v; } return $barr; } public function smschuiban($sm='') { if($this->isflow>0 && $this->adminid==$this->uid){ $farr = $this->getflow(true); $nowcheckid = $farr['nowcheckid']; $tplnum = $this->option->getval('sms_cbnum','defnum'); $wxurl = $this->getxiangurlx(); $barr = c('xinhuapi')->sendsms($nowcheckid, '', $tplnum, array( 'modename' => $this->modename, 'sericnum' => $this->sericnum, 'applyname'=> $this->uname, 'deptname' => $this->rs['base_deptname'], ),$wxurl, false, false); if(!$barr['success'])return $barr['msg']; $this->addlog(array( 'explain' => $sm, 'name' => '鐭俊鍌姙', 'status' => 1, )); } return 'ok'; } public function reloadflow($sm='') { $this->update(array('status'=>0), $this->id); $this->flogmodel->update('`valid`=0', ''.$this->mwhere.' and `courseid`>0'); $this->addlog(array( 'explain' => $sm, 'name' => '閲嶆柊瀹℃壒', 'status' => 1, )); $this->getflow(true); $this->billmodel->update('`status`=0,`nstatus`=0',$this->mwhere); return 'ok'; } public function addschedule($sm='') { $txdt = $this->rock->post('txdt'); if(isempt($sm))return '璇存槑涓嶈兘涓虹┖'; if(isempt($txdt))return '鎻愰啋鏃堕棿涓嶈兘涓虹┖'; $barr['title'] = $sm; $barr['startdt'] = $txdt; $barr['uid'] = $this->adminid; $barr['optdt'] = $this->rock->now; $barr['optname']= $this->adminname; $barr['txsj'] = 1; m('schedule')->insert($barr); return 'ok'; } public function getoptmenu($flx=0) { $where = ''; if($flx==1)$where='and `iszs`=1'; $rows = $this->db->getrows('[Q]flow_menu',"`setid`='$this->modeid' ".$where." and `status`=1",'id,wherestr,name,statuscolor,statusvalue,num,islog,issm,type,upgcont','`sort`'); $arr = array(); $bfrom = $this->rock->post('bfrom'); if($flx==0)$arr[] = array('lx'=>0,'name'=>$this->rock->jm->base64decode('5pyq562!5o6I5peg5rOV5pi!56S66I!c5Y2V5aaC5bey562!5o6I5Y675Y2H57qn'),'optmenuid'=>0,'color'=>'red'); if($flx==1)return $arr; $status = (int)arrvalue($this->rs,'status','0'); $isturn = (int)arrvalue($this->rs, 'isturn','0'); $ismy = ($this->uid == $this->adminid or $this->optid == $this->adminid); $isreadbo = $this->isreadqx(1); if($this->isflow>0 && $isturn==1){ } if($status != 5 && arrvalue($this->moders,'ispl','1')=='1' && $isreadbo){ $arr[] = array('name'=>lang('璇勮'),'lx'=>15,'nup'=>1,'issm'=>1,'optmenuid'=>-15); } if($ismy && arrvalue($this->moders,'ishz')=='1' && $status==1){ $smcont = $this->getsummary(); $mid = (int)m('receipt')->getmou('id',"`uid`='$this->adminid' and `modenum`='$this->modenum' and `mid`='$this->id'"); $namess = '鍥炴墽纭璁剧疆'; if($mid>0)$namess = '鍥炴墽纭缂栬緫'; $arr[] = array('name'=>$namess,'djmid'=>$mid,'optnum'=>'receipt','lx'=>'18','optmenuid'=>-18,'modename'=>$this->modename,'smcont'=>$smcont); } if($isreadbo && arrvalue($this->moders,'istxset','1')=='1' && $this->modenum != 'remind' && !in_array($status, array(2,5))){ $smcont = ''.$this->modename.'锛'.$this->getsummary(); $mid = (int)m('remind')->getmou('id',"`uid`='$this->adminid' and `modenum`='$this->modenum' and `mid`='$this->id'"); $namess = '锛嬫坊鍔犳彁閱掕缃'; if($mid>0)$namess = '鎻愰啋璁剧疆缂栬緫'; $arr[] = array('name'=>$namess,'djmid'=>$mid,'smcont'=>$smcont,'issm'=>1,'optnum'=>'tixing','lx'=>'14','optmenuid'=>-14); } if($this->iseditqx()==1 && $isreadbo){ $arr[] = array('name'=>lang('缂栬緫'),'optnum'=>'edit','lx'=>'11','optmenuid'=>-11); } if($this->isdeleteqx()==1){ $arr[] = array('name'=>lang('鍒犻櫎'),'color'=>'red','optnum'=>'del','nup'=>1,'issm'=>0,'islog'=>0,'statusvalue'=>9,'lx'=>'9','optmenuid'=>-9); } if(method_exists($this,'flowgetoptmenuarr')){ $lbarr = $this->flowgetoptmenuarr($flx); if(is_array($lbarr))foreach($lbarr as $k=>$v)$arr[]=$v; } return $arr; } public function optmenu($czid, $zt, $sm='') { $msg = ''; $cname = $this->rock->post('changename'); $cnameid = $this->rock->post('changenameid'); $cdate = $this->rock->post('changedate'); $darr = array( 'cname' => $cname, 'cnameid' => $cnameid, 'cdate' => $cdate, 'sm' => $sm, ); if($czid==-9){ $msg = $this->deletebill($sm); }else if($czid==-10){ $msg = $this->check($zt, $sm); if(contain($msg,'鎴愬姛'))$msg = 'ok'; }else if($czid==-12){ $this->zhuijiaexplain($sm); }else if($czid==-13){ $this->chuiban($sm); }else if($czid==-14){ $msg = $this->addschedule($sm); }else if($czid==-15){ $actname = $this->rock->post('name'); $this->addlog(array( 'explain' => $sm, 'name' => $actname, )); $uids = ''; if(isset($this->rs['uid'])){ $uids= $this->rs['uid']; }else if(isset($this->rs['optid'])){ $uids= $this->rs['optid']; } if($uids)$this->nexttodo($uids, 'pinglun', $sm, $actname); $this->gettodosend('boping','', $sm); }else if($czid==-16){ $this->zuofeibill($sm); }else if($czid==-17){ $msg = $this->smschuiban($sm); }else if($czid==-18){ $msg = $this->jiankongzb($darr); }else if($czid==-19){ $msg = $this->reloadflow($sm); }else{ } if($msg=='')$msg='ok'; return $msg; } public function jiankongzb($darr) { return $this->bd6('5peg5L!h5ZG8562!5o6I5peg5q2k5Yqf6IO9'); } public function billwhere($uid, $lx) { $arr['table'] = $this->mtable; $arr['tableleft'] = ''; $arr['fields'] = ''; $arr['order'] = ''; $arr['group'] = ''; $arr['keywhere']= ''; $arr['asqom'] = ''; $arr['onlywhere'] = ''; $arr['companywhere']= ''; $this->atype = $lx; $nas = $this->flowbillwhere($uid, $lx); $inwhere = ''; if(substr($lx,0,5)=='grant'){ $inwhere = $this->viewmodel->viewwhere($this->moders, $this->adminid, $this->flowviewufieds, 1); } if($lx=='chaos'){ $inwhere = "and {asqom}`id` in(select `mid` from `[Q]flow_chao` where `table`='{$this->mtable}' and ".$this->rock->dbinstr('csnameid', $this->adminid).")"; } if($lx=='mychuli'){ $inwhere = "and {asqom}`id` in(select bill.`mid` from `[Q]flow_bill` as `bill` where bill.`modeid`='{$this->modeid}' and ".$this->rock->dbinstr('bill.`allcheckid`', $this->adminid).")"; } $_wehs = ''; if(is_array($nas)){ if(isset($nas['where']))$_wehs = $nas['where']; $ftears = explode(',','asqom,order,fields,fieldsleft,table,group,companywhere,onlywhere,keywhere,tableleft'); foreach($ftears as $fid)if(isset($nas[$fid]))$arr[$fid] = $nas[$fid]; }else{ $_wehs = $nas; } $fwhere = $this->getflowwhere($uid, $lx); $path = ''.P.'/flow/page/rock_page_'.$this->modenum.'.php'; $table = $arr['table']; $temsao = 0; if(!contain($table, ' ') && $this->isflow>0){ $arr['table'] = '`[Q]'.$this->mtable.'` a left join `[Q]flow_bill` b on a.`id`=b.`mid` and b.`table`=\''.$this->mtable.'\''; if(!isempt($arr['tableleft']))$arr['table'].=' left join '.$arr['tableleft'].''; $arr['asqom'] = 'a.'; $arr['fields']= 'a.*,b.`uname` as base_name,b.`udeptname` as base_deptname,b.`sericnum`,b.`nowcheckname`'; if(isset($arr['fieldsleft']) && $arr['fieldsleft'])$arr['fields'].=','.$arr['fieldsleft'].''; if($arr['order']=='')$arr['order'] = 'a.`optdt` desc'; $temsao = 1; if($this->defaultorder){ $defa = explode(',', $this->defaultorder); $desc = arrvalue($defa, 1, 'desc'); $arr['order'] = 'a.`'.$defa[0].'` '.$desc.''; } } if(isempt($arr['order'])){ $arr['order'] = '{asqom}`id` desc'; if($this->defaultorder){ $defa = explode(',', $this->defaultorder); $desc = arrvalue($defa, 1, 'desc'); $arr['order'] = '{asqom}`'.$defa[0].'` '.$desc.''; } } if(isempt($fwhere) && isempt($inwhere) && $this->moders['isscl']>0){ $fwhere = 'and 1=2'; } $where = $inwhere; $wherestr = $this->moders['where']; if(!isempt($wherestr)){ $wherestr = $this->rock->covexec($wherestr); $where .= ' and {asqom}'.$wherestr; } if($fwhere!='')$where .= ' '.$fwhere; if($_wehs!='')$where .= ' '.$_wehs; $highwhere = $this->gethighwhere(); $allfields = array(); $key = $this->rock->post('key'); $pnum = $this->rock->post('pnum'); $status = $this->rock->post('keystatus'); $ztfields = arrvalue($nas, 'ztfields', 'status'); $xhlikea = array('like','=','>=','<=', 'not like'); $xhfields = $this->rock->post('xhfields'); $xhlike = (int)$this->rock->post('xhlike','0'); $xhkeygj = $this->rock->jm->base64decode($this->rock->post('xhkeygj')); if(!isempt($xhkeygj) && $xhfields){ if(substr($xhfields,0,2)=='zb'){ $xu = substr($xhfields,2,1); $zbasr = explode(',', $this->moders['tables']); $zbts = arrvalue($zbasr,$xu); $xhfields = substr($xhfields,4); $wher1 = "`$xhfields` ".$xhlikea[$xhlike].""; if($xhlike==0 || $xhlike==4)$wher1.=" '%".$xhkeygj."%'"; if($xhlike==1 || $xhlike==2 || $xhlike==3)$wher1.=" '$xhkeygj'"; $wher1 = " and {asqom}`id` in(select `mid` from `[Q]".$zbts."` where ".$wher1.")"; $where.= $wher1; }else{ $wher1 = " and {asqom}`$xhfields` ".$xhlikea[$xhlike].""; if($xhlike==0 || $xhlike==4)$wher1.=" '%".$xhkeygj."%'"; if($xhlike==1 || $xhlike==2 || $xhlike==3)$wher1.=" '$xhkeygj'"; $where.= $wher1; } } if(!isempt($status))$where .= ' and {asqom}`'.$ztfields.'`='.$status.''; if(!isempt($key) && isempt($arr['keywhere'])){ $check = c('check'); $allfields = $this->db->getallfields('[Q]'.$this->mtable.''); $_kearr = array(); if($check->isdate($key) || $check->ismonth($key)){ $skeay = array('date','datetime','month'); foreach($this->fieldsarra as $k=>$rs){ $flx = $rs['fieldstype']; $fid = $rs['fields']; if($rs['issou']==1 && in_array($flx, $skeay) && in_array($fid, $allfields)){ if($check->isdate($key)){ if($flx=='date')$_kearr[] = "{asqom}`".$fid."`='$key'"; if($flx=='datetime')$_kearr[] = "{asqom}`".$fid."` like '$key%'"; if($flx=='month')$_kearr[] = "{asqom}`".$fid."`='".substr($key,0,7)."'"; if($temsao==1){ $_kearr[] = "b.`applydt`='$key'"; } } if($check->ismonth($key)){ if($flx=='month'){ $_kearr[] = "{asqom}`".$fid."`='$key'"; }else{ $_kearr[] = "{asqom}`".$fid."` like '$key%'"; } if($temsao==1){ $_kearr[] = "b.`applydt` like '$key%'"; } } } } } if(!$_kearr){ $skeay = array('text','textarea','htmlediter','changeuser','changeusercheck','changedept','changedeptusercheck','selectdatafalse','selectdatatrue','num'); $xiakk = array('rockcombo','select'); foreach($this->fieldsarra as $k=>$rs){ if($rs['issou']==1 && in_array($rs['fields'], $allfields) && substr($rs['fields'],-2) != 'dt'){ if(in_array($rs['fieldstype'], $skeay))$_kearr[] = "{asqom}`".$rs['fields']."` like '%".$key."%'"; } } if($temsao==1){ $_kearr[] = "b.`uname` like '%".$key."%'"; $_kearr[] = "b.`udeptname` like '%".$key."%'"; $_kearr[] = "b.`sericnum` = '$key'"; $_kearr[] = "b.`nowcheckname` = '$key'"; } if(isset($nas['orlikefields'])){ $owhee = explode(',', $nas['orlikefields']); foreach($owhee as $owhees){ $_owhees = explode('@', $owhees); $sle = arrvalue($_owhees, 1); if($sle=='1'){ $_kearr[] = "".$_owhees[0]." ='$key'"; }else{ $_kearr[] = "".$_owhees[0]." like '%".$key."%'"; } } } } if($_kearr && $arr['onlywhere']=='')$arr['keywhere'] = "and (".join(' or ',$_kearr).")"; } if(!isempt($arr['companywhere']) && getconfig('companymode'))$where .= ' '.$arr['companywhere']; if(!isempt($arr['onlywhere']))$where .= ' '.$arr['onlywhere']; if(!isempt($arr['keywhere']))$where .= ' '.$arr['keywhere']; if($highwhere!='')$where .= ' '.$highwhere; $where = str_replace('{asqom}', $arr['asqom'], $where); $arr['order'] = str_replace('{asqom}', $arr['asqom'], $arr['order']); $where = str_replace('[A]', $arr['asqom'], $where); $fields = $arr['fields']; if($this->flowfieldstype==1 && (isempt($fields) || $fields=='*') && $this->moders['isscl']>0){ if(!$allfields)$allfields = $this->db->getallfields('[Q]'.$this->mtable.''); $fields = '{asqom}`id`'; $odlvs = $this->option->getval('columns_'.$this->modenum.'_'.$pnum.''); if(isempt($odlvs)){ foreach($this->fieldsarra as $k=>$rs){ if($rs['islb']==1 && in_array($rs['fields'],$allfields)){ $fields.=',{asqom}`'.$rs['fields'].'`'; } } }else{ $odlvsa = explode(',', $odlvs); foreach($odlvsa as $odlvs1){ if(in_array($odlvs1, $allfields)){ $fields.=',{asqom}`'.$odlvs1.'`'; } } } if($this->isflow>0){ if(!contain($fields,'`status`'))$fields.=',{asqom}`status`'; } $fields = str_replace('{asqom}', $arr['asqom'], $fields); $arr['fields'] = $fields; } $fields = $arr['fields']; if(!isempt($fields) && $fields!='*'){ $fieldsa = explode(',', $fields); $fieldss = ''; foreach($fieldsa as $fieldsas){ if(contain($fieldsas,'`') || contain($fieldsas,'.') || contain($fieldsas,' ') || contain($fieldsas,'(')){ $fieldss.=','.$fieldsas.''; }else{ $fieldss.=',`'.$fieldsas.'`'; } } $arr['fields'] = substr($fieldss, 1); } $arr['where'] = str_replace('{asqom}','`[Q]'.$this->mtable.'`.', $where); return $arr; } public function gethighwhere() { $s = ''; return $s; } public function getflowwhere($uid, $num) { $where = ''; $rs = $this->wheremodel->getone("`setid`='$this->modeid' and `num`='$num'"); if(!$rs)return $where; $where = $this->wheremodel->getwherestr($rs, $uid, $this->flowviewufieds); return $where; } public function getflowrows($uid, $lx, $limit=5, $swher='') { $nas = $this->billwhere($uid, $lx); $table = $nas['table']; if(!contain($table,' '))$table='[Q]'.$table.''; if(isempt($nas['fields']))$nas['fields'] = '*'; $swher = str_replace('{asqom}',$nas['asqom'], $swher); $where = '1=1 '.$nas['where'].' '.$swher.''; if($limit==0)return $this->db->rows($table, $where ); $rows = $this->db->getrows($table, $where , $nas['fields'], $nas['order'], $limit); foreach($rows as $k=>$rs){ $rows[$k] = $this->rsreplace($rs, 2); } return $rows; } public function gettodorows($whereid) { $where = $this->wheremodel->getwherestr($whereid, $this->adminid, $this->flowviewufieds); $wherestr = $this->moders['where']; if(!isempt($wherestr)){ $wherestr = $this->rock->covexec($wherestr); $where .= ' and '.$wherestr; } $where = str_replace('{asqom}','', $where); $rows = $this->getall('2=2 '.$where.''); foreach($rows as $k=>$rs){ $rows[$k] = $this->rsreplace($rs, 1); } return $rows; } public function printexecl($event) { $arr['moders'] = $this->moders; $arr['fields'] = $this->getfields(); $cell = 1; foreach($arr['fields'] as $k=>$v)$cell++; $arr['cell'] = $cell; $where = '1=1'; $str1 = $this->moders['where']; if(!isempt($str1)){ $str1 = $this->rock->covexec($str1); $where = $str1; } $vwhere = $this->viewmodel->viewwhere($this->moders, $this->adminid); $rows = $this->getrows(''.$where.' '.$vwhere.'', '*', 'id desc', 100); $arr['rows'] = $this->flowprintrows($rows); $arr['count'] = $this->db->count; return $arr; } public function getsuballdata($lx=0, $mid=0) { $tabless = $this->moders['tables']; $subdata = array(); if($mid==0)$mid = $this->id; if(!isempt($tabless)){ $tablessa = explode(',', $tabless); $namessa = explode(',', $this->moders['names']); $tabless1 = '['.str_replace(',','],[', $tabless).']'; foreach($tablessa as $zbx=>$tables){ $cis = substr_count($tabless1, '['.$tables.']'); $whes = ''; if($cis>1)$whes=' and `sslx`='.$zbx.''; $data = m($tables)->getall('mid='.$mid.''.$whes.'','*','`sort`'); $data = $this->flowsubdata($data, $lx, $zbx); if($lx == 0){ $subdata['subdata'.$zbx.''] = $data; }else{ $subdata[$zbx] = array( 'data' => $data, 'fields'=> 'subdata'.$zbx.'', 'name' => $this->rock->arrvalue($namessa, $zbx) ); } } } return $subdata; } private $gettodolistarr = null; public function gettodolist($act) { if(is_array($act))return $act; if($this->gettodolistarr === null){ $rows = $this->todomodel->getrows("`setid`='".$this->modeid."' and `status`=1"); $barr = array(); foreach($rows as $k=>$rs){ $whereid = (int)$rs['whereid']; if($whereid > 0){ $bo = $this->wheremanzhu($whereid); if(!$bo)continue; } $barr[] = $rs; } $this->gettodolistarr = $barr; }else{ $barr = $this->gettodolistarr; } $garr = array(); if($barr)foreach($barr as $k=>$rs){ if(arrvalue($rs,$act)=='1')$garr[] = $rs; } return $garr; } public function gettodosend($act, $actname='',$sm='', $courseid=0, $conts='') { $barr = $this->gettodolist($act); if(!$barr)return; $changearr = array('boturn'=>'鎻愪氦','boedit'=>'缂栬緫','bozhuan'=>'杞姙','bochang'=>'淇敼瀛楁','bodel'=>'鍒犻櫎','bozuofei'=>'浣滃簾','botong'=>'澶勭悊鍚屾剰','bobutong'=>'澶勭悊涓嶅悓鎰','bofinish'=>'鍏ㄩ儴澶勭悊瀹屾垚','bozhui'=>'杩藉姞璇存槑','boping'=>'璇勮','bohuiz'=>'鍥炴墽纭'); if($actname=='' && is_string($act))$actname = arrvalue($changearr, $act); if(isempt($actname))return; $cheo = c('check'); foreach($barr as $k=>$rs){ $receid = $rs['receid']; if($act=='botong' || $act=='bobutong'){ $changewe = $rs['changecourse']; if(!isempt($changewe) && !contain(','.$changewe.',',','.$courseid.','))continue; } if($rs['toturn']==1)$receid.=','.$this->uid.''; if(arrvalue($rs,'tosuper')=='1'){ $supar = $this->adminmodel->getsuperman($this->uid); $shnej = arrvalue($supar, 0); if(!isempt($shnej))$receid.=','.$shnej.''; } if($rs['tocourse']==1 && $this->billrs){ $allcheckid = $this->billrs['allcheckid']; if(!isempt($allcheckid))$receid.=','.$allcheckid.''; } $todofields = $rs['todofields']; if(!isempt($todofields)){ $toad = explode(',', $todofields); foreach($toad as $toads){ $ttv = arrvalue($this->rs, $toads); if(!isempt($ttv) && $cheo->isinnumber($ttv))$receid.=','.$ttv.''; } } if(isempt($receid))continue; if(substr($receid,0,1)==',')$receid = substr($receid, 1); $cont = $rs['summary']; if(isempt($cont))$cont = $conts; if(isempt($cont)){ $cont = ''.$this->adminname.''.$actname.'['.$this->modename.',鍗曞彿:'.$this->sericnum.']'; if($sm!='')$cont.=',璇存槑:'.$sm.''; } $this->push($receid, '', $cont, $this->rock->repempt($rs['name'])); } } public function numtodosend($num, $actname='',$sm='') { $rows = $this->todomodel->getrows("`setid`='".$this->modeid."' and `num`='$num' and `status`=1"); if(!$rows)return; $this->gettodosend($rows, $actname, $sm); } public function flowtotal($fields='', $type='') { if($fields=='')$fields = $this->rock->post('total_fields'); if($type=='')$type = $this->rock->post('total_type','jls'); $typea = explode('|', $type); $typefields = ''; $type = $typea[0]; $typefields = arrvalue($typea, 1); $rowa = array(); $rowa[] = array( 'name' => '鏆傛棤鏁版嵁', 'value' => 0, 'bili' => '' ); $tofiels= 'count(1)'; if($type=='sum')$tofiels = 'sum([A]`'.$typefields.'`)'; if($type=='avg')$tofiels = 'avg([A]`'.$typefields.'`)'; $atype = $this->rock->post('atype'); $table = '[Q]'.$this->mtable.''; $narr = $this->billwhere($this->adminid, $atype); $where = $narr['where']; $table = $narr['table']; if(!contain($table,' '))$table = '[Q]'.$table.''; $gwhere = $this->rock->post('where'); if(!isempt($gwhere)){ $gwhere = $this->rock->jm->uncrypt($this->rock->iconvsql($gwhere)); $where .= ' '.$gwhere.''; } $sql = 'select '.$fields.' as `name`,'.$tofiels.' as value from '.$table.' where 1=1 '.$where.' group by '.$fields.''; $sql = str_replace('[A]', $narr['asqom'], $sql); $rows = $this->db->getall($sql); $total = 0; if($rows){ foreach($rows as $k=>$rs)$total+=floatval($rs['value']); if($total>0)foreach($rows as $k=>$rs){ $rows[$k]['bili'] = $this->rock->number($rs['value']*100/$total).'%'; } if($type!='avg' && count($rows)>1)$rows[] = array('name' => '鍚堣','value' => $total,'bili' => ''); }else{ $rows = $rowa; } return $rows; } public function receiptcheck($hid, $sm) { return 'ok'; } public function getrowstable($atype, $where, $limit=100,$fields='') { $rows = $this->getflowrows($this->adminid,$atype,$limit,$where); $headstr = '@xuhaos,,center'; foreach($this->fieldsarra as $k=>$rs){ $bo = false; if(!$fields && $rs['islb']==1 && $rs['iszb']=='0')$bo = true; if($fields && contain(','.$fields.',',','.$rs['fields'].','))$bo = true; if($bo)$headstr.='@'.$rs['fields'].','.$rs['name'].''; } if($this->isflow>0){ $headstr.='@statustext,鐘舵'; if(is_array($rows))foreach($rows as $k=>$rs){ $rows[$k]['statustext'] = $this->getstatusstr($rs); } } $cont = c('html')->createrows($rows, substr($headstr, 1),'#cccccc','noborder'); return $cont; } public function lang($ky) { return lang($ky,'mode_'.$this->modenum.''); } public function rsreplace($rs, $lx, $kzq=null, $ly=0) { $id = (int)arrvalue($rs, 'id','0'); if($id<=0)return $rs; $rs = $this->flowrsreplace($rs, $lx); if($this->tfieldarr)foreach($this->tfieldarr as $k1=>$frs){ $type = $frs['fieldstype']; $fid = $frs['fields']; $val = arrvalue($rs, $fid); if($type=='uploadimg' && !contain($val,'<')){ if($val && $lx==2)$rs[''.$fid.'_textcn'] = '
'; continue; } if(isempt($frs['data']))continue; if(isempt($val) || !is_numeric($val))continue; if(!array_key_exists('store', $frs)){ if($this->inputobj == null){ $this->inputobj = c('input'); $this->inputobj->flow = $this; } $store = $this->inputobj->getdatastore($frs['fieldstype'], $kzq, $frs['data'], $fid); $this->tfieldarr[$k1]['store'] = $store; }else{ $store = $frs['store']; } if($store)foreach($store as $x=>$rv){ if($rv['value']==$val){ $rs[''.$fid.'_yuan'] = $val; if($lx==2 && $ly==0){ $rs[''.$fid.'_textcn'] = $rv['name']; if(isset($rv['color']))$rs[''.$fid.'_color'] = $rv['color']; }else{ $rs[$fid] = $rv['name']; if(isset($rv['color']))$rs[$fid] = ''.$rs[$fid].''; } break; } } } return $rs; } public function viewjinfields($rows) { if(!$rows)return $rows; return $rows; } public function daochusubtable($rows) { return $rows; } }
\ No newline at end of file
diff --git a/webmain/model/flow/hrsalaryModel.php b/webmain/model/flow/hrsalaryModel.php
index 22d2a9b..7370b0d 100644
--- a/webmain/model/flow/hrsalaryModel.php
+++ b/webmain/model/flow/hrsalaryModel.php
@@ -40,14 +40,16 @@ class flow_hrsalaryClassModel extends flowModel
}
public function flowrsreplace($rs, $lx=0){
- $s = '寰呭彂鏀';
- $rs['ispays'] = $rs['ispay'];
- if($rs['ispay']==1)$s = '宸插彂鏀';
- $rs['ispay'] = $s;
-
- $s = '寰呮牳绠';
- if($rs['isturn']==1)$s = '宸叉牳绠';
- $rs['isturnss'] = $s;
+ if(isset($rs['ispay'])){
+ $s = '寰呭彂鏀';
+ $rs['ispays'] = $rs['ispay'];
+ if($rs['ispay']==1)$s = '宸插彂鏀';
+ $rs['ispay'] = $s;
+
+ $s = '寰呮牳绠';
+ if($rs['isturn']==1)$s = '宸叉牳绠';
+ $rs['isturnss'] = $s;
+ }
//璇︽儏灞曠ず鏃
if($lx==1){
diff --git a/webmain/model/flow/wordModel.php b/webmain/model/flow/wordModel.php
index f95f641..9aca9f3 100644
--- a/webmain/model/flow/wordModel.php
+++ b/webmain/model/flow/wordModel.php
@@ -5,6 +5,9 @@ class flow_wordClassModel extends flowModel
-
+ public function floweditoffice($frs, $ofrs)
+ {
+ $this->update("`optdt`='".$this->rock->now."'", $this->id);
+ }
}
\ No newline at end of file
diff --git a/webmain/model/flow/wordxieModel.php b/webmain/model/flow/wordxieModel.php
index b29ad4d..91388ba 100644
--- a/webmain/model/flow/wordxieModel.php
+++ b/webmain/model/flow/wordxieModel.php
@@ -70,6 +70,6 @@ class flow_wordxieClassModel extends flowModel
//鍦ㄧ嚎缂栬緫
public function floweditoffice($frs, $ofrs)
{
-
+ $this->update("`optdt`='".$this->rock->now."'", $this->id);
}
}
\ No newline at end of file
diff --git a/webmain/public/publicAction.php b/webmain/public/publicAction.php
index 356cc7f..e9b241a 100644
--- a/webmain/public/publicAction.php
+++ b/webmain/public/publicAction.php
@@ -164,4 +164,16 @@ class publicClassAction extends ActionNot{
$this->smartydata['id'] = $id;
$this->smartydata['otype'] = $otype;
}
+
+ /**
+ * 鍦板潃璺宠浆
+ */
+ public function gotoAction()
+ {
+ $url = $this->get('url');
+ if(!$url)return 'urlerror';
+ $url = urldecode($url);
+ //return $url;
+ $this->rock->location($url);
+ }
}
\ No newline at end of file
diff --git a/webmain/public/tpl_public_fileedit.html b/webmain/public/tpl_public_fileedit.html
index 5ebaa58..feb6b7c 100644
--- a/webmain/public/tpl_public_fileedit.html
+++ b/webmain/public/tpl_public_fileedit.html
@@ -3,52 +3,80 @@
鏂囨。澶勭悊
+
+
-
澶勭悊涓...
+
澶勭悊涓...
diff --git a/webmain/system/cog/cogAction.php b/webmain/system/cog/cogAction.php
index 8936443..db9e993 100644
--- a/webmain/system/cog/cogAction.php
+++ b/webmain/system/cog/cogAction.php
@@ -368,7 +368,7 @@ return array(
if(getconfig('systype')=='demo')return '婕旂ず涓嶈鏀';
$stype = (int)$this->post('stype','0');
$msg = 'ok';
- if($stype==0)$msg = $this->saveconfig('title,imgcompress,watertype,video_bool,flowchehuitime,saasmode,hoemtimeout,usercache,xiangrecord,beianhao,locallang',',video_bool,');
+ if($stype==0)$msg = $this->saveconfig('title,imgcompress,watertype,video_bool,flowchehuitime,saasmode,hoemtimeout,usercache,xiangrecord,beianhao,locallang,savefiletype',',video_bool,');
return $msg;
}
diff --git a/webmain/system/cog/rock_cog_moreset.php b/webmain/system/cog/rock_cog_moreset.php
index ad01016..fcd7c6d 100644
--- a/webmain/system/cog/rock_cog_moreset.php
+++ b/webmain/system/cog/rock_cog_moreset.php
@@ -178,6 +178,10 @@ $(document).ready(function(){
|
+ | 鍙洿鎺ヤ笂浼犱繚瀛樼被鍨嬶細 |
+ 鍥犱负涓浜涚壒娈婃枃浠剁被鍨嬫槸鍙墽琛岀殑濡.php.exe.sh锛屼笉鐩存帴淇濆瓨 |
+ |
+
| 绯荤粺璇█锛 | |
diff --git a/webmain/task/api/uploadAction.php b/webmain/task/api/uploadAction.php
index 4756d9b..b3bcdff 100644
--- a/webmain/task/api/uploadAction.php
+++ b/webmain/task/api/uploadAction.php
@@ -32,21 +32,56 @@ class uploadClassAction extends apiAction
$this->returnjson($arr);
}
+ public function editfilebAction()
+ {
+ $fileid = (int)$this->get('fileid','0');
+ $frs = m('file')->getone($fileid);
+ if(!$frs)return 'error';
+ $editobj= c('rockedit');
+ $barr = $editobj->getdata('file','history', array(
+ 'filekey' => getconfig('xinhukey'),
+ 'filenum' => $frs['onlynum'],
+ ));
+ if(!$barr['success'])return $barr['msg'];
+ $arr = $barr['data'];
+
+ $data = file_get_contents($arr['url']);
+ $result = $this->upfilevb_Query($fileid, $frs['fileext'], $data);
+ if(substr($result,0,2)=='ok'){
+ $editobj->getdata('file','upresult', array(
+ 'isup' => 3,
+ 'upid' => $arr['upid'],
+ ));
+ return '鈥'.$frs['filename'].'鈥濇枃浠剁紪杈戝凡瀹屾垚';
+ }else{
+ return '缂栬緫澶辫触;';
+ }
+ }
+
+
/**
* 杩欎釜鏄敤鏉ュ湪绾跨紪杈戞枃妗d笂浼犵殑
*/
public function upfilevbAction()
{
$fileid = (int)$this->get('fileid','0');
- if($fileid==0)exit('fileid=0');
+ $fileext= $this->get('fileext');
$data = $this->getpostdata();
if(isempt($data))return '娌℃湁鏁版嵁';
- $fileext= $this->get('fileext');
- $uptype = '|doc|docx|xls|xlsx|ppt|pptx|';
- if(!contain($uptype,'|'.$fileext.'|'))$fileext='doc';
+ return $this->upfilevb_Query($fileid, $fileext, base64_decode($data));
+ }
+
+ public function upfilevb_Query($fileid, $fileext, $data)
+ {
+ if($fileid==0)return 'error';
+
$fileobj = m('file');
$frs = $fileobj->getone($fileid); //璁板綍
- if(!$frs)exit('鏂囦欢璁板綍涓嶅瓨鍦ㄤ簡');
+ if(!$frs) return '鏂囦欢璁板綍涓嶅瓨鍦ㄤ簡';
+ if(!$fileext)$fileext = $frs['fileext'];
+
+ $uptype = '|doc|docx|xls|xlsx|ppt|pptx|';
+ if(!contain($uptype,'|'.$fileext.'|'))$fileext='doc';
$frs['oldfilepath'] = $frs['filepath'];
$filename = $frs['filename'];
@@ -55,7 +90,8 @@ class uploadClassAction extends apiAction
}
$filepath = ''.UPDIR.'/'.date('Y-m').'/'.date('d_His').''.rand(10,99).'.'.$fileext.'';
- $this->rock->createtxt($filepath, base64_decode($data));
+
+ $this->rock->createtxt($filepath, $data);
$filesize = filesize($filepath);
$filesizecn = $this->rock->formatsize($filesize);
@@ -68,6 +104,7 @@ class uploadClassAction extends apiAction
'filesize' => $filesize,
'filesizecn' => $filesizecn,
'fileext' => $fileext,
+ 'filepathout' => '',
'pdfpath' => '',
),$fileid);
c('cache')->del('filetopdf'.$fileid.'');
@@ -99,9 +136,10 @@ class uploadClassAction extends apiAction
$ufrs['filepath'] = $frs['oldfilepath'];
unset($ufrs['oldfilepath']);
unset($ufrs['id']);
+ unset($ufrs['onlynum']);
$ufrs['mtype'] = 'flow_log';
$ufrs['mid'] = $ssid;
- $ufrs['mknum'] = ''.$modenum.'|'.$mid.'';
+ $ufrs['mknum'] = ''.$modenum.'|'.$mid.'';
$ufrs['filename'] = str_replace('.'.$ufrs['fileext'].'','(澶囦唤).'.$ufrs['fileext'].'', $ufrs['filename']);
$fileobj->insert($ufrs); //璁板綍鍘熸潵鐨勬枃浠
@@ -340,8 +378,9 @@ class uploadClassAction extends apiAction
//缂栬緫
if($type==2){
if(getconfig('officebj')=='1'){
- $data['fileext']='rockedit';
- $data['url'] = 'index.php?m=public&a=fileedit&id='.$fileid.'';
+ $data['fileext']= 'rockedit';
+ $data['url'] = 'index.php?m=public&a=fileedit&id='.$fileid.'';
+ $data['editwsinfo'] = c('rockedit')->getwsinfo();
}else{
if($ismobile==1)return returnerror('绉诲姩绔笉鏀寔鍦ㄧ嚎缂栬緫');
$data['fileext']='rockoffice';
@@ -586,4 +625,140 @@ class uploadClassAction extends apiAction
'selectdata' => $selectdata
);
}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /**
+ * 20250522鏇存柊淇敼
+ */
+ private $upsize = 154857;
+ public function officeexistsAction()
+ {
+ $id = (int)$this->get('id');
+ $otype = (int)$this->get('otype'); //0缂栬緫1棰勮
+ $frs = m('file')->getone($id);
+ if(!$frs)return returnerror('鏂囦欢涓嶅瓨鍦0');
+
+ $onlynum = $frs['onlynum'];
+ if(isempt($onlynum)){
+ $onlynum = md5(''.$this->rock->jm->getRandkey().date('YmdHis').'file'.$id.'');
+ m('file')->update("`onlynum`='$onlynum'", $id);
+ }
+
+ $path = $this->getfurls($frs);
+ if(isempt($path))return returnerror('鏂囦欢涓嶅瓨鍦1');
+ $obj = c('rockedit');
+ $urs = m('admin')->getone($this->adminid);
+ $barr = $obj->getdata('file','change', array(
+ 'filenum' => $onlynum,
+ 'optid' => $this->adminid,
+ 'otype' => $otype,
+ 'fileext' => $frs['fileext'],
+ 'filename' => $this->rock->jm->base64encode($frs['filename']),
+ 'optname' => $this->rock->jm->base64encode($this->adminname),
+ 'face' => $this->rock->jm->base64encode(m('admin')->getface($urs['face'])),
+ ));
+ if(!$barr['success'])return $barr;
+
+ $da = $barr['data'];
+ if($da['type']==0){
+ $barr['data']['filesizecn'] = $frs['filesizecn'];
+ $barr['data']['fileext'] = $frs['fileext'];
+ $barr['data']['fileid'] = $id;
+ if(substr($path,0,4)=='http'){
+ $zong = 1;
+ }else{
+ $filesize = filesize($path);
+ $zong = ceil($filesize/$this->upsize);
+ if($zong<=0)$zong = 1;
+ }
+ $barr['data']['zong'] = $zong;
+ }else{
+ $barr['data']['url'] = $obj->gotourl($da['gourl'],$da['gokey'],$onlynum, $otype, $this->admintoken, $id);
+ }
+ return $barr;
+ }
+
+ public function getfurls($frs)
+ {
+ $filepath = $frs['filepath'];
+ if(file_exists($filepath))return $filepath;
+ $path = $frs['filepathout'];
+ if(isempt($path))$path = $filepath;
+ if(substr($path,0,4)=='http')return $path;
+ if(!file_exists($path))return '';
+ return $path;
+ }
+
+ //寮濮嬩笂浼
+ public function officefstartAction()
+ {
+ $id = (int)$this->get('id');
+ $zong = (int)$this->get('zong');
+ $ci = (int)$this->get('ci');
+ $otype = (int)$this->get('otype');
+ $filemid = (int)$this->get('filemid');
+ $frs = m('file')->getone($id);
+
+ $path = $this->getfurls($frs);
+ $conts = '';
+ $datype = 'base';
+
+
+ if(substr($path,0,4)=='http'){
+ $datype = 'http';
+ $conts = $path; //http杩滅▼鍦板潃鐨
+ }else{
+ $fp = @fopen($path,'rb');
+ if(!$fp)return returnerror('鏃犳硶璇诲彇鏂囦欢');
+ $oi = 0;
+ while(!feof($fp)){
+ $cont = fread($fp, $this->upsize);
+ if($oi==$ci){
+ $conts = $cont;
+ break;
+ }
+ $oi++;
+ }
+ fclose ($fp);
+ }
+
+
+ $obj = c('rockedit');
+ $barr = $obj->postdata('file','fstart', array(
+ 'filenum' => $frs['onlynum'],
+ 'data' => $this->rock->jm->base64encode($conts),
+ 'zong' => $zong,
+ 'datype' => $datype,
+ 'ci' => $ci,
+ 'fileid' => $id,
+ 'filemid' => $filemid,
+ 'filesize' => $frs['filesize'],
+ 'fileext' => $frs['fileext'],
+ 'filename' => $this->rock->jm->base64encode($frs['filename']),
+ ));
+ if(!$barr['success'])return $barr;
+ $bda = $barr['data'];
+ if($bda['result']=='ok'){
+ $gokey = $this->get('gokey');
+ $gourl = $this->rock->jm->base64decode($this->get('gourl'));
+ $barr['data']['url'] = $obj->gotourl($gourl,$gokey,$frs['onlynum'], $otype, $this->admintoken, $id);;
+ }
+
+ return $barr;
+ }
}
\ No newline at end of file
diff --git a/webmain/task/api/uploawAction.php b/webmain/task/api/uploawAction.php
index 4fca151..f9ce8b4 100644
--- a/webmain/task/api/uploawAction.php
+++ b/webmain/task/api/uploawAction.php
@@ -7,7 +7,7 @@ class uploawClassAction extends apiAction
}
/**
- * 涓婁紶鏂囦欢
+ * 涓婁紶鏂囦欢(澶栭儴淇℃伅鏀堕泦浣跨敤鐨)
*/
public function upfileAction()
{
diff --git a/webmain/task/openapi/openxiangAction.php b/webmain/task/openapi/openxiangAction.php
index 5c834dc..53ac5f5 100644
--- a/webmain/task/openapi/openxiangAction.php
+++ b/webmain/task/openapi/openxiangAction.php
@@ -4,6 +4,12 @@
*/
class openxiangClassAction extends openapiAction
{
+
+ public function initAction()
+ {
+ $this->showreturn('', '姝ら〉闈㈠純鐢', 201);//2025-04-09
+ }
+
/**
* 璇︽儏
*/
@@ -38,7 +44,7 @@ class openxiangClassAction extends openapiAction
$xcytype = $this->get('xcytype');
$mid = (int)$this->get('mid','0');
$menuid = (int)$this->get('menuid','0');
- $sm = $this->jm->base64decode($this->get('sm'));
+ $sm = c('check')->onlysql($this->jm->base64decode($this->get('sm')));
if(isempt($num) || !$xcytype || $mid==0)return returnerror('num isempt');
$flow = m('flow')->initflow($num,$mid, false);
$msg = $flow->optmenu($menuid,1,$sm);