From d0c604e0404baff6d82d363b95b8d5c14239e3d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=A8=E4=B8=AD=E7=A3=90=E7=9F=B3?= Date: Tue, 27 May 2025 14:51:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83v2.6.9=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +- config/version.php | 4 +- include/chajian/downChajian.php | 3 +- include/chajian/rockeditChajian.php | 39 ++- include/chajian/upfileChajian.php | 2 + include/chajian/xinhuapiChajian.php | 2 +- js/js.js | 14 +- mode/bootstrapplugin/jquery-bootstable.js | 12 +- mode/plugin/jquery-rockoffice.js | 49 +++ webmain/css/rock.css | 6 +- webmain/flow/input/inputAction.php | 22 +- webmain/flow/input/mode_custfinaAction.php | 5 +- webmain/flow/input/mode_custfinbAction.php | 5 +- webmain/flow/page/input_flowset.html | 2 +- webmain/flow/page/rock_page_worcword.php | 2 +- webmain/install/rockxinhu.sql | 316 +++++++++--------- webmain/main/customer/rock_customer_index.php | 2 +- webmain/model/agent/agent.php | 22 ++ webmain/model/baseModel.php | 56 ++++ webmain/model/flow/flow.php | 2 +- webmain/model/flow/hrsalaryModel.php | 18 +- webmain/model/flow/wordModel.php | 5 +- webmain/model/flow/wordxieModel.php | 2 +- webmain/public/publicAction.php | 12 + webmain/public/tpl_public_fileedit.html | 84 +++-- webmain/system/cog/cogAction.php | 2 +- webmain/system/cog/rock_cog_moreset.php | 4 + webmain/system/cog/rock_cog_set.php | 2 +- webmain/task/api/uploadAction.php | 193 ++++++++++- webmain/task/api/uploawAction.php | 2 +- webmain/task/openapi/openxiangAction.php | 8 +- 31 files changed, 661 insertions(+), 242 deletions(-) create mode 100644 mode/plugin/jquery-rockoffice.js 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 .= ''; } } } $contvimr .= '
'.$n.'
'.$vs.'
'.str_replace(' ','
',$n).'
'.$vs.'
'; } 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 .= ''; } } } $contvimr .= '
'.$n.'
'.$vs.'
'.str_replace(' ','
',$n).'
'.$vs.'
'; } 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);