settable('flow_set');
}
public function getmodearr($whe='')
{
$where = 'status=1 '.$whe.'';
if($whe=='all')$where='1=1';
$arr = $this->getall($where,'`id`,`num`,`name`,`table`,`type`,`isflow`,`status`','sort');
$typea = array();
foreach($arr as $k=>$rs){
if(LANG!='zh-CN')$rs['name'] = lang($rs['name'],'mode');
$arr[$k]['name'] = ''.$rs['id'].'.'.$rs['name'].'('.$rs['num'].')';
$typea[$rs['type']][] = $arr[$k];
}
$arr = array();
foreach($typea as $k1=>$srow){
foreach($srow as $k2=>$rs2)$arr[] = $rs2;
}
return $arr;
}
//判断模块是否开启存在
public function iscun($num)
{
$to = $this->rows("`num`='$num' and `status`=1");
return $to==1;
}
public function getmoderows($uid, $sww='')
{
$where = m('admin')->getjoinstr('receid', $uid);
$arr = $this->getall("`status`=1 and `type`<>'系统' $sww $where",'`id`,`num`,`name`,`table`,`type`,`isflow`,`isscl`','`sort`');
if(LANG!='zh-CN')foreach($arr as $k=>$rs){
$arr[$k]['name'] = lang($rs['name'],'mode');
$arr[$k]['type'] = lang($rs['type'],'mode');
}
return $arr;
}
public function getmodemyarr($uid=0, $whe='')
{
$where = '';
if($whe!='')$where = $whe;
if($uid>0)$where = m('admin')->getjoinstr('receid', $uid);
$arr = $this->getall('status=1 and isflow>0 '.$where.'','`id`,`name`,`type`','sort');
if(LANG!='zh-CN')foreach($arr as $k=>$rs){
$arr[$k]['name'] = lang($rs['name'],'mode');
$arr[$k]['type'] = lang($rs['type'],'mode');
}
return $arr;
}
//生成列表页面
public function createlistpage($modeid, $lxss=0, $glx=0, $inrs=null)
{
if(is_array($modeid)){
$mors = $modeid;
}else{
$mors = m('flow_set')->getone($modeid,'`id`,`table`,`names`,`num`,`name`,`isflow`,`lbztxs`');
}
$num = $mors['num'];
$path = ''.P.'/flow/page/rock_page_'.$num.'.php';
//分单位自己生成
if($glx==0 && getconfig('platdwnum') && COMPANYNUM){
$dbbase = str_replace('_company_'.COMPANYNUM.'','', DB_BASE);
$ones = $this->db->getone(''.$dbbase.'.`[Q]flow_set`', "`num`='$num'");
if($ones)return 'ok';
}
//当是一键生成时,不存在就不要生成了
if($lxss==1 && !file_exists($path))return 'none';
$flow = m('flow')->initflow($num);
$chufarr= array();
if(method_exists($flow, 'flowxiangfields'))$chufarr = $flow->flowxiangfields($chufarr);
$table = $mors['table'];
$name = $mors['name'];
$modeid = (int)$mors['id'];
$isflow = (int)$mors['isflow'];
$lbztxs = $mors['lbztxs'];
$showzt = false;
$farr[] = array('name'=>arrvalue($chufarr, 'base_name', lang('申请人')),'fields'=>'base_name');
$farr[] = array('name'=>arrvalue($chufarr, 'base_deptname', lang('申请人部门')),'fields'=>'base_deptname');
$farr[] = array('name'=>arrvalue($chufarr, 'base_sericnum', lang('单号')),'fields'=>'sericnum');
$farrs = m('flow_element')->getall("`mid`='$modeid'",'`fields`,`name`,`fieldstype`,`ispx`,`isalign`,`iszb`,`islb`,`issou`,`data`,`width`,`iseditlx`','`iszb`,`sort`');
$inpub = c('input');
$inpub->flow = $flow;
$zbarr = $zbnamea = array();
if(!isempt($mors['names']))$zbnamea = explode(',', $mors['names']);
foreach($farrs as $k=>$rs){
if(LANG!='zh-CN')$rs['name'] = $flow->lang($rs['name']);
if($glx==1 && $rs['issou']=='1' && ($rs['fieldstype']=='select' || $rs['fieldstype']=='rockcombo')){
$rs['store'] =$inpub->getdatastore($rs['fieldstype'],$inrs,$rs['data']);
}
if($rs['iszb']=='0'){
$farr[] = $rs; //主表
if($rs['fields']=='status')$showzt=true;
}else{
if($rs['issou']=='1'){
$xus = floatval($rs['iszb'])-1;
$zbn = arrvalue($zbnamea, $xus);
if($zbn)$rs['name'] = ''.$zbn.'.'.$rs['name'].'';
$rs['fields'] = 'zb'.$xus.'_'.$rs['fields'].'';
$zbarr[] = $rs;
}
}
}
$farr[] = array('name'=>arrvalue($chufarr, 'comidname', lang('所属单位※')),'fields'=>'comidname','islb'=>(ISMORECOM)?1:0);
$jgpstr = '';
$hstart = '';
$hendts = '';
$oldcont = @file_get_contents($path);
$autoquye = $this->rock->getcai($oldcont,'//[自定义区域start]','//[自定义区域end]');
//$isdaoru = m('flow_element')->rows("`mid`='$modeid' and `isdr`=1");
$drstrbtn = '';
//if($isdaoru>0){
$drstrbtn = " ";
//}
//读取流程模块的条件
$whtml = '
';
$zthtml = '';
if($isflow>0)$showzt = true;
if($lbztxs==1)$showzt = true;
if($lbztxs==2)$showzt = false;
if($showzt){
$ztarr = $flow->getstatusarr();
$zthtml = ' | ';
}
$fselarr = array();
$bear = $this->db->getrows('[Q]option',"`num` like 'columns_".$num."_%'",'`num`,`value`');
foreach($bear as $k2=>$rs2)$fselarr[$rs2['num']]=$rs2['value'];
$placeholder= '=lang(\'关键字\')?>';
if($isflow>0)$placeholder= '=lang(\'关键字\')?>/=lang(\'申请人\')?>/=lang(\'单号\')?>';
if($glx==1){
return array(
'isflow' => $isflow,
'modeid' => $modeid,
'fieldsarr' => $farr,
'fieldzarr' => $zbarr,
'fieldsselarr' => $fselarr,
'chufarr' => $chufarr,
'modename' => $flow->lang($name),
'modetable'=> $this->rock->jm->encrypt($mors['table']),
'modenames' => $flow->lang($this->rock->repempt($mors['names'])),
);
}
$html= "".$hstart."
".$hendts."";
$str = "
".$jgpstr."";
$bstrs = '';
if(!isempt($oldcont) && contain($oldcont, $jgpstr) && contain($oldcont, $bstrs)){
$strarr = explode($jgpstr, $oldcont);
$nstr = $strarr[1];
$htmlqy = $this->rock->getcai($nstr, $hstart, $hendts);
$rstr = "".$hstart."
".$htmlqy."
".$hendts."";
$nstr = str_replace($rstr, '', $nstr);
$nstr = str_replace($bstrs, $html.$bstrs, $nstr);
$str .= "\n".$nstr;
}else{
$str.= "\n".$html;
}
$bo = $this->rock->createtxt($path, $str);
if(!$bo)$path='';
return $path;
}
/**
* 统计
*/
public function flowtotal($modeid, $fields, $type)
{
}
public function menulist()
{
$arr['schedule'] = '45';
$arr['hrsalary'] = '184,98,277,276,99,278,102';
$arr['knowtraim'] = '202,199,200,201';
$arr['hrcheck'] = '274,272,273,244,275';
$arr['emailm'] = '157';
$arr['meet'] = '89,150,151,283';
$arr['kqdkjl'] = '59,92,33,58,60,234,86,88,169,170'; //打卡记录
$arr['waichu'] = '160,159'; //打卡记录
$arr['kaoqin'] = '32,61,53,54,197,55,56,152,153,240,241,243,242,36,87,260,57';
$arr['kqdw'] = '93,94';
$arr['jiaban'] = '217';
$arr['daily'] = '76,77,195,78,198,231,192,193,194,196';
$arr['project'] = '79,69,70,72,71,82';
$arr['work'] = '66,65,67,83,68,80,81';
$arr['word'] = '124,125,203';
$arr['wordxie'] = '281';
$arr['wordeil'] = '282';
$arr['knowledge'] = '134,158';
$arr['knowtiku'] = '135,136';
$arr['news'] = '288';
$arr['wenjuan'] = '321';
$arr['wupin'] = '28,247,248,30,249,253,31,251,250,319,261,323,252';
$arr['assetm'] = '137,411,412,413';
$arr['repair'] = '413';
$arr['cheliang'] = '138,143,214,144,146,215,216';
$arr['book'] = '139,141,145';
$arr['seal'] = '165,166,167';
$arr['dangan'] = '336,337,338';
$arr['gongwen'] = '204,239,289,290,232,256,258,291,292,293,306,205,257,259,294,255,233,206,304,305';
$arr['crm'] = '63,37,64,73,104,105,114,118,126,179,262,299,131,132,75,112,113,123,263,317,110,111,108,109,106,119,115,116,117,107,120,121,122,175,176,177,178,264,302,318,300,301,386,387,458,459,460';
$arr['userinfo'] = '85,101,149';
$arr['userract'] = '95';
$arr['userzheng'] = '339';
$arr['hrdemand'] = '265';
$arr['hrmanshi'] = '266';
$arr['hrpositive'] = '96';
$arr['hrredund'] = '97';
$arr['hrtransfer'] = '128';
$arr['hrtrsalary'] = '129';
$arr['reward'] = '130';
$arr['finjishou'] = '311,312,316,369,457';
$arr['finzhang'] = '308';
$arr['finkemu'] = '309';
$arr['finount'] = '310';
$arr['finscrip'] = '453,454,455';
$arr['finscrib'] = '456';
$arr['finfybx'] = '187,191';
$arr['finccbx'] = '188';
$arr['finjkd'] = '189,218';
$arr['finhkd'] = '190';
$arr['finpay'] = '229';
$arr['finkai'] = '230';
$arr['finpiao'] = '279,280';
$arr['finyisu'] = '325,326,329,327,328';
$arr['finbei'] = '330,331,335,333,332,334';
$arr['wxgzh'] = '180,181,284,285,366';
$arr['weixinqy'] = '171,172,155,173,174,370,47,48,49,50,51,52';
$arr['ding'] = '208,209,210,211,212';
$arr['gongcheng'] = '345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,373,374,375,376,377,378,379,380,381,382,383,384,385';
$arr['officidu'] = '361,362,363,364,365';
$arr['gong'] = '90,287';
$arr['jxcbase'] = '388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,417,418';
$arr['planm'] = '410,407,408,409';
$arr['collectm'] = '414,415,416';
$arr['eduxueqi'] = '419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435';
$arr['yqhealthy'] = '436,437';
$arr['wyxiaoqu'] = '438,439,440,441,442,443,444,445,446,447,448,449,450,451';
return $arr;
}
public function yinglist()
{
$arr['kaoqin'] = '29,45,28,30,24,58';
$arr['work'] = '12';
$arr['project'] = '44';
$arr['gongwen'] = '41,42,43';
$arr['emailm'] = '26';
$arr['schedule'] = '21';
$arr['daily'] = '7';
$arr['meet'] = '4';
$arr['hrsalary'] = '38';
$arr['news'] = '52';
$arr['word'] = '20';
$arr['wordxie'] = '50';
$arr['knowledge'] = '27';
$arr['knowtiku'] = '32';
$arr['knowtraim'] = '33';
$arr['crm'] = '18,17,56,19,34,35,36';
$arr['bianjian'] = '59';
$arr['gong'] = '3';
$arr['wyxiaoqu'] = '67,68,69,70';
return $arr;
}
}