Files
xinhu/webmain/main/yingyong/yingyongAction.php
2023-04-05 13:00:20 +08:00

154 lines
4.1 KiB
PHP

<?php
class yingyongClassAction extends Action
{
public function yingyongdataAjax()
{
$rows = m('im_group')->getall('`type`=2','*','`sort`');
$arrs = array();
/*
foreach($rows as $k=>$rs){
$sub = m('im_group')->getall('`type`=2 and pid='.$rs['id'].'','*','`sort`');
$rs['leave'] = 1;
$arrs[] = $rs;
foreach($sub as $k1=>$rs1){
$rs1['leave'] = 2;
$arrs[] = $rs1;
}
}*/
echo json_encode(array('rows'=>$rows));
}
public function getdataAjax()
{
$rows = m('im_group')->getall('`type`=2','id,name,face,num,valid','`sort`');
echo json_encode($rows);
}
public function loaddataAjax()
{
$id = (int)$this->get('id');
$arr['data'] = m('im_group')->getone($id);
echo json_encode($arr);
}
public function beforesave($table, $cans, $id)
{
$msg = '';
$num = $cans['num'];
if(m($table)->rows("`num`='$num' and `id`<>$id")>0)$msg='编号['.$num.']已存在';
return array('msg'=>$msg);
}
public $rows;
public function menudataAjax()
{
$this->rows = array();
$mid = (int)$this->get('mid');
$agentnum = m('im_group')->getmou('num',$mid);
$where = "and `mid`='$mid'";
$this->getmenu(0, 1, $where);
$modeid = (int)m('flow_set')->getmou('id',"`num`='$agentnum'");
$wherearr = m('flow_where')->getrows("setid='$modeid' and `num` is not null and `status`=1",'`name`,`num`','`pnum`,`sort`');
$barr[] = array('num'=>'','name'=>'-选择-');
foreach($wherearr as $k=>$rs){
$wherearr[$k]['name'] = ''.$rs['num'].'.'.$rs['name'].'';
$barr[] = $wherearr[$k];
}
echo json_encode(array(
'totalCount'=> 0,
'rows' => $this->rows,
'agentnum' => $agentnum,
'modeid' => $modeid,
'wherearr' => $barr,
));
}
private function getmenu($pid, $oi, $wh='')
{
$db = m('im_menu');
$menu = $db->getall("`pid`='$pid' $wh order by `sort`",'*');
foreach($menu as $k=>$rs){
$sid = $rs['id'];
$rs['level'] = $oi;
$rs['stotal'] = $db->rows("`pid`='$sid' $wh ");
$this->rows[] = $rs;
$this->getmenu($sid, $oi+1, $wh);
}
}
public function yingyongbefore($table)
{
return array(
'order' => '`valid` desc,`sort` asc'
);
}
public function yingyongafter($table, $rows)
{
foreach($rows as $k=>$rs){
if($rs['valid']=='0')$rows[$k]['status']=0;
}
return array(
'rows' => $rows
);
}
public function createyingAjax()
{
$bh = $this->get('bh');
$mrs = m('flow_set')->getone("`num`='$bh'");
if(!$mrs)return returnerror('编号为“'.$bh.'”的模块不存在');
$wherrows = m('flow_where')->getall('`setid`='.$mrs['id'].' and ifnull(`num`,\'\')<>\'\'','*','`sort`');
if(!$wherrows)return returnerror('模块“'.$mrs['name'].'”未创建流程模块条件');
$db = m('im_group');
$dbs = m('im_menu');
if($db->rows("`num`='$bh' and `type`=2")>0)return returnerror('编号为“'.$bh.'”的应用已经存在了');
$sort = 100*$mrs['id'];
$dsrs = $db->getone("`types`='".$mrs['type']."'",'*','`sort` desc');
if($dsrs)$sort = (int)$dsrs['sort']+1;
$udb['name'] = $mrs['name'];
$udb['types'] = $mrs['type'];
$udb['num'] = $mrs['num'];
$udb['url'] = 'auto';
$udb['type'] = 2;
$udb['face'] = 'images/logo.png';
$udb['sort'] = $sort;
$mid = $db->insert($udb);
$xdar0 = $xdar1 = array();
foreach($wherrows as $k=>$rs){
if(!$xdar0 && isempt($rs['pnum']))$xdar0 = $rs;
if(!$xdar1 && !isempt($rs['pnum']))$xdar1 = $rs;
}
$iar['mid'] = $mid;
if($xdar0){
$iar['name'] = $xdar0['name'];
$iar['url'] = $xdar0['num'];
$iar['type'] = 0;
$iar['sort'] = 0;
$dbs->insert($iar);
}
if($xdar1){
$iar['name'] = $xdar1['name'];
$iar['url'] = $xdar1['num'];
$iar['receid'] = 'u'.$this->adminid.'';
$iar['recename'] = $this->adminname;
$iar['type'] = 0;
$iar['sort'] = 1;
$dbs->insert($iar);
}
$iar['name'] = '+新增';
$iar['url'] = 'add';
$iar['receid'] = '';
$iar['recename'] = '';
$iar['type'] = 1;
$iar['sort'] = 2;
$dbs->insert($iar);
return returnsuccess();
}
}