/**
  * @Title: seeProcessDetail
  * @Description: todo(新版流程查看)
  * @author 杨东
  * @date 2013-4-17 上午10:34:50
  * @throws
  */
 public function seeProcessDetail()
 {
     $id = $this->escapeStr($_GET['id']);
     // 当前单据ID
     $name = $this->getActionName();
     // 当前单据模型
     $model = D($name);
     // 构造当前单据模型
     $ptmp = $model->where(array("id" => $id))->find();
     // 查询当前表的状态noderuleinfo
     $pihmodel = D('process_info_history');
     // 构造流程明细模型
     $usermodel = D('User');
     // 用户模型
     // 新建状态的流程查看(初始化节点)
     $list = array();
     if ($ptmp['flowid']) {
         // 查询最新流程
         $pihmap = array();
         $pihmap['pid'] = $ptmp['ptmptid'];
         $pihmap['tableid'] = $id;
         $pihmap['tablename'] = $name;
         $pihlist = $pihmodel->where($pihmap)->order('id desc')->select();
         // 存在自定义流程
         $allnode = $auditUser = array();
         if ($ptmp['allnode']) {
             $allnode = explode(',', $ptmp['allnode']);
         }
         // 所有节点
         if ($ptmp['auditUser']) {
             $auditUser = explode(';', $ptmp['auditUser']);
         }
         // 所有用户
         $tekey = 1;
         // 构造所有节点
         foreach ($allnode as $k => $v) {
             $auArr = explode(",", $auditUser[$k]);
             $str = "";
             if (count($auArr) > 1) {
                 $list[$tekey]['bx'] = "(并行)";
             }
             $list[$tekey]['tid'] = $v;
             $list[$tekey]['name'] = "自定义节点" . $tekey;
             $list[$tekey]['user'] = $auditUser[$k];
             $tekey++;
         }
         // 过滤回退以前的数据
         $ftrue = true;
         $judge = array();
         foreach ($pihlist as $k => $v) {
             if ($v['dotype'] == 1) {
                 // 流程新建
                 $judge[] = $v;
                 break;
             }
             if ($ftrue) {
                 $judge[] = $v;
             }
             if ($v['dotype'] == 2) {
                 // 流程启动
                 $ftrue = false;
             }
         }
         // 添加-4流程结束、-2流程启动、-1流程新建节点
         array_unshift($list, array('tid' => -1), array('tid' => -2));
         array_push($list, array('tid' => -4));
         // 结束
         // 给流程填满基础信息
         foreach ($list as $k => $v) {
             // 添加中文名称及查看审核人链接
             if ($v['tid'] > 0) {
                 $list[$k]["url"] = "__URL__/seeAuditUser/id/" . $id . "/tid/" . $v['tid'];
             } else {
                 if ($v['tid'] == -1) {
                     $list[$k]['name'] = '新建';
                     $list[$k]['dotime'] = $ptmp["createtime"];
                 } else {
                     if ($v['tid'] == -2) {
                         $list[$k]['name'] = '开始';
                         $list[$k]['dotype'] = '创建';
                     } else {
                         if ($v['tid'] == -4) {
                             $list[$k]['name'] = '结束';
                         }
                     }
                 }
             }
             $bxuser = array_filter(explode(",", $v['user']));
             if (count($bxuser) > 1) {
                 $douser = $doinfo = array();
                 $dotime = $dotype = 0;
                 foreach ($bxuser as $bxkey => $bcval) {
                     // 添加流程记录信息
                     foreach ($judge as $k2 => $v2) {
                         // 判断当前节点等于流程明细的审核节点
                         if ($v['tid'] == $v2['ostatus'] && $bcval == $v2['userid'] && $v['tid'] > 0) {
                             $douser[] = $usermodel->where('id=' . $v2['userid'])->getField('name');
                             $doinfo[] = $v2['doinfo'];
                             $dotime = $v2['dotime'];
                             $dotype = $v2['dotype'];
                         }
                     }
                 }
                 if (count($bxuser) == count($douser)) {
                     $list[$k]['show'] = 1;
                     // 是否显示
                 }
                 $list[$k]['dotime'] = $dotime;
                 // 处理时间
                 $list[$k]['dotype'] = $dotype;
                 // 处理状态
                 $list[$k]['doinfo'] = $doinfo;
                 // 处理意见
                 $list[$k]['douser'] = $douser;
                 // 处理人
             } else {
                 // 添加流程记录信息
                 foreach ($judge as $k2 => $v2) {
                     $douser = $usermodel->where('id=' . $v2['userid'])->getField('name');
                     // 判断当前节点等于流程明细的审核节点
                     if ($v['tid'] == $v2['ostatus'] && $v['tid'] > 0) {
                         $list[$k]['show'] = 1;
                         // 是否显示
                         $list[$k]['dotime'] = $v2['dotime'];
                         // 处理时间
                         $list[$k]['dotype'] = $v2['dotype'];
                         // 处理状态
                         $list[$k]['douser'][] = $douser;
                         // 处理人
                         $list[$k]['doinfo'][] = $v2['doinfo'];
                         // 处理意见
                     } else {
                         if (abs($v['tid']) == $v2['dotype'] && $v['tid'] < 0) {
                             $list[$k]['show'] = 1;
                             // 是否显示
                             $list[$k]['dotime'] = $v2['dotime'];
                             // 处理时间
                             $list[$k]['dotype'] = $v2['dotype'];
                             // 处理状态
                             $list[$k]['douser'][] = $douser;
                             // 处理人
                             $list[$k]['doinfo'][] = $v2['doinfo'];
                             // 处理意见
                         }
                     }
                 }
             }
         }
     } else {
         if ($ptmp['ptmptid'] && !$ptmp['flowid']) {
             // 查询流程名称
             $pimodel = M('process_info_form');
             $where = array();
             $where['tableid'] = $id;
             $where['tablename'] = $name;
             $pname = $pimodel->where($where)->order("id desc")->field('id,name')->find();
             $this->assign('pname', $pname['name']);
             //查询最新流程
             $pihmap = array();
             $pihmap['tableid'] = $id;
             $pihmap['tablename'] = $name;
             //流程历史记录
             $pihlist = $pihmodel->where($pihmap)->order('id desc')->select();
             //获取节点数据
             $process_relation_formDao = M("process_relation_form");
             $where = array();
             $where['tableid'] = $id;
             $where['tablename'] = $name;
             $where['doing'] = 1;
             $where['flowtype'] = array('gt', 1);
             $relaformlist = $process_relation_formDao->where($where)->order("sort asc")->getField("relationid,flowtype,id,name,curAuditUser,parallel");
             //构造所有节点
             foreach ($relaformlist as $k => $v) {
                 $list[$k]['relaid'] = $v['id'];
                 $list[$k]['name'] = $v['name'];
                 $list[$k]['tid'] = $v['id'];
                 $list[$k]['flowtype'] = $v['flowtype'];
                 //当前节点可审核人
                 $curAuditUser = $v['curAuditUser'];
                 if ($v['parallel'] == 2) {
                     $curAuditUser = array();
                     //多批次并行。需要解析多批次审核人员
                     $countAuditUser = explode(";", $v['curAuditUser']);
                     foreach ($countAuditUser as $kk => $vv) {
                         $countAuditUser1 = explode(",", $vv);
                         foreach ($countAuditUser1 as $kkk => $vvv) {
                             array_push($curAuditUser, $vvv);
                         }
                     }
                     $curAuditUser = implode(",", $curAuditUser);
                 }
                 $list[$k]['user'] = $curAuditUser;
                 $list[$k]['parallel'] = $v["parallel"];
             }
             // 过滤回退以前的数据
             $ftrue = true;
             $lcjs = true;
             $judge = array();
             $i = 0;
             $bool = true;
             foreach ($pihlist as $k => $v) {
                 if ($v['dotype'] == 8 && $bool) {
                     //第一个就遇到变更,则不填写结束信息
                     $bool = false;
                 }
                 if ($v['dotype'] == 4 && $bool) {
                     $judge[] = $v;
                     $bool = false;
                 }
                 if ($v['dotype'] == 1) {
                     // 流程新建
                     $judge[] = $v;
                     break;
                 }
                 if ($ftrue && $v['dotype'] != 4) {
                     $judge[] = $v;
                 }
                 if ($v['dotype'] == 2) {
                     // 流程启动
                     $ftrue = false;
                 }
             }
             // 添加-4流程结束、-2流程启动、-1流程新建节点
             array_unshift($list, array('tid' => -1), array('tid' => -2));
             array_push($list, array('tid' => -4));
             // 结束
             // 给流程填满基础信息
             foreach ($list as $k => $v) {
                 // 添加中文名称及查看审核人链接
                 if ($v['tid'] > 0) {
                     if ($v['parallel']) {
                         $list[$k]['bx'] = "(并行)";
                     }
                     if ($v['flowtype'] != 3) {
                         $list[$k]["url"] = "__URL__/seeAuditUser/id/" . $id . "/tid/" . $v['relaid'];
                     }
                     if ($v['tid'] > 1356969600) {
                         $list[$k]['name'] = "加签节点";
                     } else {
                         $list[$k]['name'] = $v['name'];
                     }
                 } else {
                     if ($v['tid'] == -1) {
                         $list[$k]['name'] = '新建';
                         $list[$k]['dotime'] = $ptmp["createtime"];
                     } else {
                         if ($v['tid'] == -2) {
                             $list[$k]['name'] = '开始';
                             $list[$k]['dotype'] = '创建';
                         } else {
                             if ($v['tid'] == -4) {
                                 $list[$k]['name'] = '结束';
                             }
                         }
                     }
                 }
                 if ($v['parallel'] == 2) {
                     // 添加流程记录信息
                     foreach ($judge as $k2 => $v2) {
                         $douser = $usermodel->where('id=' . $v2['userid'])->getField('name');
                         // 判断当前节点等于流程明细的审核节点
                         if ($v['tid'] == $v2['ostatus'] && $v['tid'] > 0) {
                             $list[$k]['show'] = 1;
                             // 是否显示
                             $list[$k]['dotime'] = $v2['dotime'];
                             // 处理时间
                             $list[$k]['dotype'] = $v2['dotype'];
                             // 处理状态
                             $list[$k]['douser'][] = $douser;
                             // 处理人
                             $list[$k]['doinfo'][] = $v2['doinfo'];
                             // 处理意见
                         } else {
                             if (abs($v['tid']) == $v2['dotype'] && $v['tid'] < 0) {
                                 $list[$k]['show'] = 1;
                                 // 是否显示
                                 $list[$k]['dotime'] = $v2['dotime'];
                                 // 处理时间
                                 $list[$k]['dotype'] = $v2['dotype'];
                                 // 处理状态
                                 $list[$k]['douser'][] = $douser;
                                 // 处理人
                                 $list[$k]['doinfo'][] = $v2['doinfo'];
                                 // 处理意见
                             }
                         }
                     }
                 } else {
                     if ($v['parallel'] == 1) {
                         //添加流程记录信息
                         $bxuser = explode(",", $v['user']);
                         if (count($bxuser) > 1) {
                             $doinfo = array();
                             $douser = array();
                             $dotime = $dotype = 0;
                             foreach ($bxuser as $bk => $bv) {
                                 // 添加流程记录信息
                                 foreach ($judge as $k2 => $v2) {
                                     // 判断当前节点等于流程明细的审核节点
                                     if ($v['tid'] == $v2['ostatus'] && $bv == $v2['userid']) {
                                         $douser[] = $usermodel->where('id=' . $v2['userid'])->getField('name');
                                         $doinfo[] = $v2['doinfo'];
                                         $dotime = $v2['dotime'];
                                         $dotype = $v2['dotype'];
                                     }
                                 }
                             }
                             if (count($bxuser) == count($douser)) {
                                 $list[$k]['show'] = 1;
                                 // 是否显示
                             }
                             $list[$k]['dotime'] = $dotime;
                             // 处理时间
                             $list[$k]['dotype'] = $dotype;
                             // 处理状态
                             $list[$k]['doinfo'] = $doinfo;
                             // 处理意见
                             $list[$k]['douser'] = $douser;
                             // 处理人
                         } else {
                             // 添加流程记录信息
                             foreach ($judge as $k2 => $v2) {
                                 $douser = $usermodel->where('id=' . $v2['userid'])->getField('name');
                                 // 判断当前节点等于流程明细的审核节点
                                 if ($v['tid'] == $v2['ostatus'] && $v['tid'] > 0) {
                                     $list[$k]['show'] = 1;
                                     // 是否显示
                                     $list[$k]['dotime'] = $v2['dotime'];
                                     // 处理时间
                                     $list[$k]['dotype'] = $v2['dotype'];
                                     // 处理状态
                                     $list[$k]['douser'][] = $douser;
                                     // 处理人
                                     $list[$k]['doinfo'][] = $v2['doinfo'];
                                     // 处理意见
                                 } else {
                                     if (abs($v['tid']) == $v2['dotype'] && $v['tid'] < 0) {
                                         $list[$k]['show'] = 1;
                                         // 是否显示
                                         $list[$k]['dotime'] = $v2['dotime'];
                                         // 处理时间
                                         $list[$k]['dotype'] = $v2['dotype'];
                                         // 处理状态
                                         $list[$k]['douser'][] = $douser;
                                         // 处理人
                                         $list[$k]['doinfo'][] = $v2['doinfo'];
                                         // 处理意见
                                     }
                                 }
                             }
                         }
                     } else {
                         // 添加流程记录信息
                         foreach ($judge as $k2 => $v2) {
                             $douser = $usermodel->where('id=' . $v2['userid'])->getField('name');
                             // 判断当前节点等于流程明细的审核节点
                             if ($v['tid'] == $v2['ostatus'] && $v['tid'] > 0) {
                                 $list[$k]['show'] = 1;
                                 // 是否显示
                                 $list[$k]['dotime'] = $v2['dotime'];
                                 // 处理时间
                                 $list[$k]['dotype'] = $v2['dotype'];
                                 // 处理状态
                                 $list[$k]['douser'][] = $douser;
                                 // 处理人
                                 $list[$k]['doinfo'][] = $v2['doinfo'];
                                 // 处理意见
                             } else {
                                 if (abs($v['tid']) == $v2['dotype'] && $v['tid'] < 0) {
                                     $list[$k]['show'] = 1;
                                     // 是否显示
                                     $list[$k]['dotime'] = $v2['dotime'];
                                     // 处理时间
                                     $list[$k]['dotype'] = $v2['dotype'];
                                     // 处理状态
                                     $list[$k]['douser'][] = $douser;
                                     // 处理人
                                     $list[$k]['doinfo'][] = $v2['doinfo'];
                                     // 处理意见
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     // 构造节点处理等待时间
     foreach ($list as $k => $v) {
         // 判断处理时间是否存在
         if ($list[$k]['dotime']) {
             $next = $k + 1;
             // 取到下个审核节点
             // 判断下个节点是否小于所有节点之和
             if ($next < count($list)) {
                 $nexttime = $list[$next]['dotime'];
                 // 下个节点处理时间
                 // 判断下个节点时间是否存在
                 if (!$nexttime) {
                     $nexttime = time();
                     // 等于当前时间
                 }
                 // 下个节点时间减去当前节点时间获取小时数
                 $hours = number_format(($nexttime - $list[$k]['dotime']) / 3600);
                 // 判断小时数是否大于一天
                 if ($hours > 24) {
                     // 大于一天的 用填进行计算
                     $list[$k]['days'] = round(number_format($hours) / 24) . '天';
                 } else {
                     $list[$k]['days'] = number_format($hours) . '小时';
                 }
             } else {
                 $list[$k]['days'] = $list[$k - 1]['days'];
             }
             $list[$k]['dotime'] = transTime($v['dotime']);
         } else {
             $list[$k]['days'] = "&nbsp;";
         }
     }
     $this->assign('list', $list);
     $orderno = "";
     if ($ptmp['orderno']) {
         $orderno = $ptmp['orderno'];
     } else {
         $orderno = $ptmp['code'];
     }
     $this->assign('orderno', $orderno);
     $this->display('Public:process');
 }
 public function lookupGetdate()
 {
     $name = 'MisWorkPlanContent';
     $model = M('mis_work_plan_content');
     $map = array();
     $map['status'] = 1;
     if ($_SESSION["a"] != 1) {
         $map['userid'] = $_SESSION[C('USER_AUTH_KEY')];
     }
     if ($_REQUEST['createid']) {
         $map['createid'] = $_REQUEST['createid'];
     }
     $starttime = strtotime($_REQUEST['starttime']);
     $endtime = strtotime($_REQUEST['endtime']);
     $map['createtime'] = array("exp", ">=" . $starttime . " and createtime <" . $endtime);
     $list = $model->where($map)->field('id,createtime')->select();
     $arr = array();
     $aaa = array();
     foreach ($list as $key => $value) {
         $daytime = date("Y-m-d", $value['createtime']);
         $daytime = strtotime($daytime);
         if (!in_array($daytime, $aaa)) {
             $start = transTime($value['createtime'], 'Y-m-d H:i:s');
             $end = transTime($value['createtime'] + 1, 'Y-m-d H:i:s');
             $arr[] = array('id' => $value['id'], 'title' => "", 'start' => $start, 'end' => $end, 'tdclassName' => 'pred');
             array_push($aaa, $daytime);
         }
     }
     echo json_encode($arr);
 }
Beispiel #3
0
 /**
  * @Title: getNoticeDetail
  * @Description: todo(获得系统公告详细信息,返回的是json)
  * @param unknown_type $id  公告id
  * @author xiafengqin
  * @date 2014-4-3 下午3:45:52
  * @throws
  */
 public function getNoticeDetail()
 {
     //获取系统公告ID
     $id = $_REQUEST['id'];
     //判断当前用户是否已查看 未查看则添加记录
     $mSAUmodel = M("mis_system_announcement_user");
     $readStatus = $mSAUmodel->where("userid=" . $this->userid . " and announceid=" . $id)->getField("status");
     $readData = array();
     $readData['userid'] = $this->userid;
     $readData['announceid'] = $id;
     $readData['status'] = 1;
     if ($readStatus == NULL) {
         //新增
         $mSAUmodel->data($readData)->add();
     } else {
         if ($readStatus == 0) {
             //状态为未读时
             $mSAUmodel->where("userid=" . $this->userid . " and announceid=" . $_REQUEST['id'])->setField('status', 1);
         }
     }
     $MisSystemAnnouncementModel = D('MisSystemAnnouncement');
     $map = array();
     $map['status'] = 1;
     $map['commit'] = 1;
     $map['id'] = $id;
     $returnData = $MisSystemAnnouncementModel->where($map)->field('id,title,createid,createtime,content')->find();
     if ($returnData) {
         //声明相关附件表
         $modelMAR = M('MisAttachedRecord');
         //获取附件信息
         $num = 0;
         $map = array();
         $map["status"] = 1;
         $map["orderid"] = $returnData['id'];
         $map["type"] = 78;
         $attarry = $modelMAR->field("upname,attached")->where($map)->select();
         if ($attarry) {
             $returnData['attach'] = array();
             foreach ($attarry as $attkey => $attval) {
                 $returnData['attach'][$num]['attachname'] = $attval['upname'];
                 //注意这里的路径,必须是__APP__."/MisSystemAnnouncement/misFileManageDownload/:对应模型名称,不能是__URL__."/misFileManageDownload/;将取不到数据
                 $returnData['attach'][$num]['attachurl'] = __APP__ . "/MisSystemAnnouncement/misFileManageDownload/path/" . base64_encode($attval['attached']) . "/rename/" . $attval['upname'];
                 $num++;
             }
         } else {
             //你存在数据是赋予空值
             $returnData['attach'] = null;
         }
     }
     //将id转化成人名,将时间戳转换成日期格式,将部门取出
     $returnData['username'] = getFieldBy($returnData['createid'], 'id', 'name', 'user');
     $deptid = getFieldBy($returnData['createid'], 'id', 'dept_id', 'user');
     $returnData['deptname'] = getFieldBy($deptid, 'id', 'name', 'mis_system_department');
     $returnData['createtime'] = transTime($returnData['createtime']);
     $returnData['content'] = strip_tags($returnData['content']);
     unset($returnData['createid']);
     if ($returnData) {
         //echo '[{"error":"没有找到数据"}]';
         echo json_encode($returnData);
     } else {
         echo '{"error":"没有找到数据"}';
     }
 }
 /**
  *
  * @Title: lookupremindList
  * @Description: todo(获取用户提醒list)
  * @param unknown_type $map
  * @return unknown
  * @author renling
  * @date 2014-8-29 下午5:18:47
  * @throws
  */
 public function lookupremindList($map)
 {
     $uid = $_SESSION[C('USER_AUTH_KEY')];
     //提醒表
     $MisSystemRemindModel = D('MisSystemRemind');
     if ($map) {
         $userMap = $map;
     }
     $alluserid = array();
     //查询排除id
     $MisSystemRemindallList = $MisSystemRemindModel->where(" status=1 and userid ='all'  and deluserid not in (" . $uid . ")")->select();
     foreach ($MisSystemRemindallList as $akey => $aval) {
         if ($aval['deluserid']) {
             $deluserid = explode(",", $aval['deluserid']);
             if (in_array($uid, array_values($deluserid))) {
                 $alluserid[] = $aval['id'];
             }
         }
     }
     // 		if($alluserid){
     // 			$userMap['id']=array("not in",array_values($alluserid));
     // 		}
     $userMap['_string'] = "  userid =" . $uid . " or  userid ='all' and status=1 and deluserid not in (" . $uid . ")";
     $userMap['status'] = 1;
     $remindList = $MisSystemRemindModel->where($userMap)->select();
     $remindAllList = array();
     //当前时间
     $time = time();
     $nowtime = strtotime(transTime($time, 'Y-m-d') . " 00:00");
     //提醒中心单独查询条数
     $remindModel = D("MisSystemDataRemindMasView");
     foreach ($remindList as $key => $rval) {
         $count = 0;
         $sumcount = 0;
         $val = unserialize($rval['reminddetail']);
         if ($val['modulename']) {
             $model = D($val['modulename']);
         }
         //封装外层list
         $remindAllList[$rval['id']] = array('id' => $rval['id'], 'userid' => $rval['userid'], 'color' => $val['color'], 'title' => mb_substr($val['title'], 0, 2, 'utf-8'), 'map' => unserialize($rval['map']), 'name' => $val['modulename'], 'span' => $val['span']);
         //循环替换map里 time 以及特殊符号表示
         foreach ($val['list'] as $lkey => $lval) {
             if ($lval['map']) {
                 //替换map中不规范数据
                 $lval['map'] = str_replace(array('&quot;', '&#39;', '&lt;', '&gt;', '$uid', '$time', '$nowtime'), array('"', "'", '<', '>', $uid, $time, $nowtime), $lval['map']);
                 if ($val['modulename'] == 'MisWorkPlan') {
                     $planModel = D("MisWorkPlan");
                     $plan['_string'] = "( FIND_IN_SET('{$uid}', commentpeople) )";
                     //查询满足条件条数
                     $planlist = $planModel->field("id")->where($plan)->select();
                     if ($planlist) {
                         foreach ($planlist as $v) {
                             $comid .= "," . $v['id'];
                         }
                         $comid = substr($comid, 1);
                         $lval['map'] .= " and id not in (" . $comid . ")";
                     }
                 }
             }
             if ($val['modulename'] == "MisSystemDataRemindSub") {
                 $remindMap = array();
                 $remindMap['mis_system_data_remind_sub.status'] = 1;
                 //当前用户
                 $remindMap['mis_system_data_remind_sub.userid'] = $_SESSION[C('USER_AUTH_KEY')];
                 //未读
                 $remindMap['mis_system_data_remind_sub.isread'] = 0;
                 //弹框
                 $remindMap['mis_system_data_remind_sub.operation'] = 1;
                 $remindList = $remindModel->where($remindMap)->getField('pkey,modelname');
                 $count = count($remindList);
             } else {
                 //查询符合条件条数
                 $count = $model->where($lval['map'])->count('*');
             }
             $sumcount += $count;
             if ($count > 99) {
                 $count = '99+';
             }
             //封装符合条件子数组 list
             $remindAllList[$rval['id']]['list'][$lkey] = array('relhref' => $lval['relmodule'], 'remindMap' => base64_encode($lval['map']), 'showrules' => $lval['showmap'], 'rulesinfo' => $lval['listarr'], 'rules' => $lval['map'], 'count' => $count, 'keyv' => $lkey, 'reltitle' => $val['title'], 'rtitle' => $lval['rtitle']);
         }
         $remindAllList[$rval['id']]['sumcount'] = $sumcount;
     }
     //通过keyv 重新对数组进行排序
     array_sort($remindAllList, 'keyv', 'desc');
     //根据条数重新对数组进行排序
     $remindAllList = array_merge(array_sort($remindAllList, 'sumcount', 'desc'));
     return $remindAllList;
 }
Beispiel #5
0
     $res = $db->LimitQuery($sql, $offset, $row, $params) or die($sql);
     $dataTable = $res->GetRows();
     foreach ($dataTable as $k => $v) {
         $uid = $v['uid'];
         //用户uid
         $bid = $v["blogid"];
         //动态id
         $cmnt = (int) $v['replynum'];
         //评论数
         $like = (int) $v['click3'];
         //喜欢
         $share = (int) $v['sharetimes'];
         //分享
         $message = $v["subject"];
         //动态内容225字
         $dataline = transTime($v["dateline"]);
         //发布时间
         $avatar = getAvatar($uid, "small");
         //用户头像
         //获取地点.
         $sql = "select resideprovince, residecity, residedist from disc_common_member_profile where uid='{$uid}'";
         $res = $db->Execute($sql) or die($sql);
         $province = $res->fields['resideprovince'] ? $res->fields['resideprovince'] : "北京";
         $city = $res->fields['residecity'] ? $res->fields['residecity'] : "北京";
         $dist = $res->fields['residedist'];
         $place = array($province, $city, $dist);
         $rows[$k] = array("bid" => $bid, "uid" => $uid, "nickname" => $v['username'], "place" => $place, "avatar" => $avatar, "dateline" => $dataline, "message" => $message, "view" => $v['viewnum'], "cmnt" => $cmnt, "like" => $like, "share" => $share);
     }
     $data = array("status" => "ok", "msg" => "data query done.", "page" => $page, "rows" => $rows);
 } else {
     if ($act == "like") {
 //当时间过期后转回当事人
 public function guoqizhuanshou()
 {
     //记录成功数
     $chenggongshu = 0;
     //获取当前时间戳
     $newtime = time();
     //实例化对象
     $modelMbw = M('mis_auto_guikc');
     $modelMonitoring = M('MisWorkMonitoring');
     $map = array();
     $map['shixiaoriqi'] = array('lt', $newtime);
     //是否已失效  0:表示未失效 1:表示已失效
     $map['yishixiao'] = 0;
     //创建流程转售查询
     $listMbw = $modelMbw->where($map)->field('id,shixiaoriqi,zhuanshougei,zhuanshouren')->select();
     //遍历每行数据
     foreach ($listMbw as $key => $val) {
         // 如果当前时间大于失效时间就把审核人变回原来的审核人
         if ($newtime > $val['shixiaoriqi']) {
             $map = array();
             $map['dostatus'] = '0';
             $map['zhuanshou'] = '1';
             $map['status'] = '1';
             $map['_string'] = 'FIND_IN_SET(  ' . $val['zhuanshougei'] . ',curAuditUser )';
             //查找到的人
             $listMonitoring = $modelMonitoring->field('id,curAuditUser,zhuanshou')->where($map)->select();
             //遍历misworkmonitoring中的每行数据 进行更新
             foreach ($listMonitoring as $mtkey => $mtval) {
                 $mtmap = array();
                 //以ID来更新
                 $mtmap['id'] = $mtval['id'];
                 //替换掉审核人
                 $mtval['curAuditUser'] = str_replace($val['zhuanshougei'], $val['zhuanshouren'], $mtval['curAuditUser']);
                 //另一种更新方法 同时改变转授状态 变回0未转授状态
                 $data = array('curAuditUser' => $mtval['curAuditUser'], 'zhuanshou' => '0', 'miaoshu' => '转授时间到期,未处理单据自动收回到原审核人');
                 $bool = $modelMonitoring->where($mtmap)->setField($data);
                 if ($bool == false) {
                     echo $modelMonitoring->getlastSql() . "执行转授审核人撤回失败sql,执行时间是" . transTime(time(), 'Y-m-d H:i:s') . "\n";
                 }
                 $chenggongshu++;
             }
             //将当前恢复过的数据进行失效处理
             $where = array();
             $where['id'] = $val['id'];
             $where['yishixiao'] = 1;
             $modelMbw->save($where);
         }
     }
     $this->transaction_model->commit();
     //事务提交
     echo "执行成功" . transTime(time(), 'Y-m-d H:i:s') . "\n";
 /**
  * @Title: ageList
  * @Description: todo(获取年龄阶段数据)
  * @return Ambigous <multitype:, string, number, unknown>
  * @author 杨东
  * @date 2014-2-27 上午11:38:11
  * @throws
  */
 private function ageList()
 {
     //人事模型
     $MisHrBasicEmployeeModel = D('MisHrBasicEmployee');
     //年龄配置模型
     $MisHrReportConfigurationModel = D('MisHrReportConfiguration');
     $MisHrReportConfigurationList = $MisHrReportConfigurationModel->where("status=1")->select();
     //当前时间
     $time = date('Y-m-d', strtotime(transTime(time())));
     $list = array();
     $listmap = array();
     foreach ($MisHrReportConfigurationList as $key => $val) {
         $startage = date('Y-m-d', strtotime("{$time} -" . $val['startage'] . " year"));
         $endage = date('Y-m-d', strtotime("{$time} -" . $val['endage'] . " year"));
         $listmap['status'] = 1;
         $listmap['working'] = 1;
         //在职
         $listmap['_string'] = 'birthday>= ' . strtotime($endage) . " AND birthday<=" . strtotime($startage);
         $list[$key]['name'] = $val['startage'] . '岁~' . $val['endage'] . "岁";
         //组成显示名称
         $count = $MisHrBasicEmployeeModel->where($listmap)->count('*');
         if ($count) {
             $list[$key]['count'] = $count;
         } else {
             $list[$key]['count'] = 0;
         }
     }
     return $list;
 }
 /**
  * @Title: lookupGetdate
  * @Description: todo(获得存在数据库中的日程安排)
  * @author xiafengqin
  * @date 2013-7-11 上午11:23:50
  * @throws
  */
 public function lookupGetdate()
 {
     $start = strtotime($_POST['start']);
     $end = strtotime($_POST['end']);
     $model = D('MisUserEvents');
     $map = array();
     $map['status'] = 1;
     $map['_string'] = ' (FIND_IN_SET( ' . $_SESSION[C('USER_AUTH_KEY')] . ' , personid ) OR userid = ' . $_SESSION[C('USER_AUTH_KEY')] . ') and ( startdate <' . $end . ' and enddate >=' . $start . ')';
     $list = $model->where($map)->select();
     $arr = array();
     $bgcolor = $this->bgcolor;
     foreach ($list as $key => $value) {
         $start = transTime($value['startdate'], 'Y-m-d H:i:s');
         $end = transTime($value['enddate'], 'Y-m-d H:i:s');
         //86400秒=1天
         $allDay = true;
         if ($value['enddate'] - $value['startdate'] < 86400) {
             $allDay = false;
         }
         if (!$value['importancedegree']) {
             $value['importancedegree'] = 1;
         }
         $scheduletype = $value['scheduletype'] == 2 ? '[工作]' : '[个人]';
         $arr[] = array('id' => $value['id'], 'createid' => $value['createid'], 'title' => $scheduletype . missubstr($value['text'], 18, true), 'start' => $start, 'end' => $end, 'allDay' => $allDay, 'importancedegree' => $value['importancedegree'], 'className' => $bgcolor[$value['importancedegree']]['color']);
     }
     echo json_encode($arr);
 }
 public function render($data)
 {
     //dump($data);
     //dump($data);exit;
     $tablename = MODULE_NAME;
     // 当前类名
     //当前id
     $tableid = $data['id'];
     $projectid = $data['projectid'];
     $projectworkid = $data['projectworkid'];
     //实例化后台用户模型
     $userModel = D("User");
     //获取节点数据
     $process_relation_formDao = M("process_relation_form");
     $where = array();
     $where['tableid'] = $tableid;
     $where['tablename'] = $tablename;
     $relaformlist = $process_relation_formDao->where($where)->order("sort asc")->getField("relationid,flowtype,auditState,id,name,auditUser,parallel,isaudittableid,isauditmodel");
     $auditUserArr = array();
     $bool = true;
     foreach ($relaformlist as $key => $val) {
         $arr = array();
         $arr['isaudittableid'] = $val['isaudittableid'];
         $arr['name'] = $val['name'];
         $arr['isauditmodel'] = $val['isauditmodel'];
         $arr['parallel'] = $val['parallel'];
         $arr['nodeid'] = $val['relationid'];
         $arr['flowtype'] = $val['flowtype'];
         if ($val['auditState'] == 1) {
             //表示当前节点以审核
             $arr['auditStatus'] = 1;
             $arr['classval'] = 'check_current_ed';
         } else {
             if ($bool) {
                 //表示当前为待审核节点
                 $arr['auditStatus'] = 2;
                 $arr['classval'] = 'check_current';
                 $bool = false;
             } else {
                 //未审核节点
                 $arr['auditStatus'] = 0;
                 $arr['classval'] = '';
             }
         }
         if ($val['flowtype'] == 3) {
             $arr['audituser'] = array();
         } else {
             $map = array();
             $map['id'] = array(' in ', explode(",", $val["auditUser"]));
             $userlist = $userModel->where($map)->field("id,name")->select();
             $arr['audituser'] = $userlist;
         }
         $auditUserArr[] = $arr;
     }
     //dump($auditUserArr);
     $html = "";
     //*******************流程审核人部分********************//
     /* <div class="tml_time_line">
     				<p><span class="time_line_header">该商机沟通记录:</span></p>
     				<div class="timeline">
     				<div class="separator"></div>
     				<volist id="voList" name="voList" key="key">
     				<div class="timeline-entry group_bl_color">
     				<span class="time_warp">{$voList['linktime']||transtime='Y-m-d'}</span>
     				<div class="metadata">
     				<p>沟通人:<span class="group_per">{$voList['linkpeople']}</span><span class="icon-map-marker flower_adds"> {$voList['address']}</span></p>
     				</div>
     				<div class="time_line_content">
     				<ul class="tlc_ul1">
     				<li>
     				<span>沟通主题:<span class="group_per">{$voList['title']}</span></span>
     				 
     				<ul class="tlc_ul1 tlc_ul2" >
     				 
     				<li style="list-style-type:none">{$voList['linknews']}</li>
     				<!--   <li>公司规模比较大(拥有2万多头肉羊)</li>
     				<li>对羊肉的品质要求比较高</li> -->
     				</ul>
     				</li>
     				</ul>
     				</div>
     				</div>
     				</volist>
     				</div>
     		 </div> */
     /* $html .='<div class="fieldset_show_box">';
     		$html .='	<legend class="fieldset_legend_toggle side-catalog-text side-catalog-firstanchor">';
     		$html .='		<a name="liuchengtu"></a><b>信息</b>';
     		$html .='		<div class="tml_style_line tml_sl4 tml_slb_blue"></div>';
     		$html .='	</legend>';
             $html.= '</div>';
             $html.= '<div class="fieldsetjs_show_box">';
     		
             $html.='<div class="check_info"><div class="check_flow_path">';
     		foreach($auditUserArr as $k=>$v){
     			$html .='<div class="'.$v['classval'].'">';
     			if($k > 0)$html .='<span class="forward_sign icon-double-angle-right"></span>';
     			$html .='<div class="per_big_box">';
     			//加上串并行图标
     			if(count(array_keys($v['audituser']))>1){
     				if($v['parallel'] == 1){
     					$html .='<i class="parallel_tips"></i>';
     				}else{
     					$html .='<i class="serial_tips"></i>';
     				}
     			}
     			if($v['flowtype'] == 3){
     				$html .='<div class="per_box">';
     				$html .='	<img width="45" src="__PUBLIC__/Images/sub_process.jpg" alt=""/>';
     				if($v['isaudittableid']){
     					$bool = getFieldBy($v["isauditmodel"],'name','isprocess','node');
     					$function = $bool?'auditView':'view';
     					$html .=' <a href="__APP__/'.$v["isauditmodel"].'/'.$function.'/id/'.$v["isaudittableid"].'" title="'.$v['name'].'" target="navTab"><span>'.$v['name'].'</span></a>';
     				}else{
     					$html .='   <span>'.$v['name'].'</span>';
     				}
     				$html .='</div>';
     			}else{
     				foreach($v['audituser'] as $k1=>$v1){
     					//获取用户的头像。
     					$pic = $userModel->getUserPic($v1['id']);
     					$html .='<div class="per_box">';
     					$html .='	<img width="45" src="'.$pic.'" alt=""/>';
     					$html .='   <span>'.$v1['name'].'</span>';
     					$html .='</div>';
     				}
     			}
     			$html.= '</div></div>';
     		}
     		$html .='</div></div>';
     		$html .='<div class="clear"></div>'; */
     //获取审核意见部分信息
     $ProcessInfoHistoryModel = D("ProcessInfoHistory");
     //查询最新流程
     $pihmap = array();
     //$pihmap['ptmptid'] = $data['ptmptid'];
     //$pihmap['tableid']	= $tableid;
     //$pihmap['tablename']= $tablename;
     $pihmap['projectid'] = $projectid;
     /* if($projectworkid){
     			$pihmap['projectworkid']=$projectworkid;
     		} */
     $pihmap['document'] = 1;
     $pihlist = $ProcessInfoHistoryModel->where($pihmap)->order('createtime asc')->select();
     //dump($ProcessInfoHistoryModel->getlastsql());
     //dump($pihlist);
     // 过滤回退以前的数据
     $ftrue = true;
     $judge = array();
     foreach ($pihlist as $k2 => $v2) {
         if ($v2['dotype'] == 2) {
             continue;
         }
         if ($ftrue) {
             $judge[] = $v2;
         }
     }
     $i = 0;
     $html .= '<div class="fieldset_show_box">';
     $html .= '	<legend class="fieldset_legend_toggle side-catalog-text side-catalog-firstanchor">';
     $html .= '		<a name="liuchengtu"></a><b>审批信息</b>';
     $html .= '		<div class="tml_style_line tml_sl4 tml_slb_blue"></div>';
     $html .= '	</legend>';
     $html .= '</div>';
     $html .= '<div class="tml_time_line">';
     $html .= '<p><span class="time_line_header">审批记录:</span></p>';
     $html .= '<div class="timeline">';
     $html .= '<div class="separator"></div>';
     foreach ($judge as $k3 => $v3) {
         if ($v3['ostatus'] > 0 || $v3['dotype'] == 5 || $v3['dotype'] == 8) {
             //dump($v3);
             //获取职级名称
             $dutyname = getFieldBy(getHrInfo($v3['userid'], "dutyid"), 'id', 'name', 'MisSystemDuty');
             $html .= '	<div class="timeline-entry group_bl_color">';
             $html .= '	<span class="time_warp">' . transTime($v3['dotime'], 'Y-m-d H:i') . '</span>';
             $html .= '	<div class="metadata">';
             $html .= '<p>审批人:<span class="group_per">' . getFieldBy($v3['userid'], 'id', 'name', 'user') . '【' . $dutyname . '】</span></p>';
             $html .= '</div>';
             $html .= '<div class="time_line_content">';
             $html .= '<ul class="tlc_ul1">';
             $html .= '<li>';
             $html .= '<span>审批意见:<span class="group_per">' . $v3['doinfo'] . '</span></span>';
             $html .= '<ul class="tlc_ul1 tlc_ul2" >';
             $html .= '<li style="list-style-type:none"></li>';
             $html .= '</ul>';
             $html .= '</li>';
             $html .= '</ul>';
             $html .= '</div>';
             $html .= '</div>';
             //获取用户的头像。
             /* 	$pic = $userModel->getUserPic($v3['userid']);
               		
               		$html .='<div class="check_info_content">';
               		if($i == 0)$html .='<div class="file_name">审批</div><div class="tml_style_line tml_slb_red"></div>';
               		//获取职级名称
               		$dutyname = getFieldBy(getHrInfo($v3['userid'],"dutyid"), 'id', 'name', 'MisSystemDuty');
               		$class = "";
               		if($v3['dotype'] == 6){
               			//打回的样式
               			$class = "tml_waring_color";
               		}
               		$html .='<div class="check_body">';
                       $html .='            <div class="check_body_left left">';
                       $html .='                <img width="45" src="'.$pic.'" alt="">';
                       $html .='            </div>';
                       $html .='            <div class="check_body_right left">';
                       $html .='                <div class="">';
                       $html .='                    <span class="author_color">'.getFieldBy($v3['userid'], 'id', 'name', 'user').'</span>';
                       $html .='                    <span class="tml-mr5 time_color">【'.$dutyname.'】</span>';
                       $html .='                    <span class="time_color">'.transTime($v3['createtime'],'Y-m-d H:i').'</span>';
                       $html .='                </div>';
                       $html .='                <div class="check_content '.$class.'">'.$v3['doinfo'].'</div>';
                       $html .='            </div>';
                       $html .='       </div>';
                       $html .='</div>';
                        */
             $i++;
         }
     }
     $html .= '</div>';
     $html .= '</div>';
     $html .= '</div>';
     return $html;
 }
Beispiel #10
0
     $affect_rows = $db->Affected_rows();
     if ($affect_rows > 0) {
         $data = array("status" => "ok", "info" => "处理成功");
     } else {
         $data = array("status" => "error", "info" => "处理失败");
     }
 } else {
     if ($act == "list") {
         //列出所有申请
         $rows = array();
         $tid = $_GET['tid'];
         $sql = "select * from disc_forum_activityapply where tid='{$tid}'";
         $res = $db->Execute($sql);
         $i = 0;
         while (!$res->EOF) {
             $rows[$i] = array("applyid" => $res->fields['applyid'], "tid" => $res->fields['tid'], "username" => $res->fields['username'], "uid" => $res->fields['uid'], "message" => $res->fields['message'], "dateline" => transTime($res->fields['dateline']), "payment" => $res->feilds['payment'], "ufielddata" => "");
             $i++;
             $res->MoveNext();
         }
     } else {
         if ($act == "invite") {
             //邀请好友参加活动
             $tuid = $_GET['touid'];
             $fuid = $_GET['fromuid'];
             $username = get_username($fuid);
             $tid = $_GET['tid'];
             $tuid = trim($tuid, ",");
             $tuids = explode(",", $tuid);
             //查询相关数据
             $sql = "select title from disc_forum_activity where tid='{$tid}'";
             $res = $db->Execute($sql);
Beispiel #11
0
<small>已有<?php 
echo $applicantsnumber;
?>
人报名</small>
<table class='table  table-bordered table-hover table-responsive'>
	<?php 
if ($applicantsnumber > 0) {
    foreach ($applicants as $applicant) {
        ?>
			<tr>
				<td><?php 
        echo empty($applicant['realname']) ? '匿名' : $applicant['realname'];
        ?>
</td>
				<td align="right"><?php 
        echo transTime($applicant['enroll_time']);
        ?>
</td>
			</tr>		
	<?php 
    }
}
?>
</table>
</div>

<div class="countdown">                        
	<p>报名剩余时间</p>                            
	<div class="cc">
		<div class="cd">
		  	<div><span>totalHours</span><i>时</i></div><div class="dot">:</div>			
 /**
  * @Title: getChildTaskTree
  * @Description: todo(获取子节点)
  * @return array
  * @param $taskid taskid
  * @param $taskTree 节点树
  * @param $level 层级
  * @author jiangx
  * @throws
  */
 private function getChildTaskTree($taskid, &$taskTree, $level)
 {
     $level++;
     $model = D("MisTaskInformationView");
     $childtask = $model->where('mis_task.pid = ' . $taskid . ' AND mis_task.status = 1')->select();
     if (!$childtask) {
         return true;
     }
     foreach ($childtask as $key => $val) {
         $new = array();
         $new['id'] = $val['taskid'];
         $new['parent'] = $val['pid'];
         $new['loaded'] = true;
         $new['expanded'] = false;
         $new['level'] = $level;
         $new['remark'] = missubstr(strip_tags($val['remark']), 60, true);
         $new['title'] = missubstr($val['title'], 30, true);
         $new['begindate'] = transTime($val['begindate'], 'Y-m-d H:m');
         $new['enddate'] = transTime($val['enddate'], 'Y-m-d H:m');
         $new['executeuserid'] = $val['executeuser'];
         $new['executeuser'] = getFieldBy($val['executeuser'], 'id', 'name', 'User');
         $new['executingstatus'] = excelTplselected($val['executingstatus'], '1:未查看,2:已查看,3:进行中,4:关闭,5:暂停,6:完成,7:结束,8:申请暂停,0:未启动');
         $new['urgentstatus'] = excelTplselected($val['urgentstatus'], '1:<span class="levelGreen">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>,2:<span class="levelOrange">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>,3:<span class="levelRed">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>');
         $new['difficulty'] = excelTplselected($val['difficulty'], '1:简单,2:一般,3:困难,4:极难');
         $new['chedule'] = '<span class="taskprogressbar"><span class="taskpspan1" style="width:' . $val['chedule'] . '%;"></span><span class="taskpspan2">' . $val['chedule'] . '%</span></span>';
         $new['status'] = getStatus($val['status']);
         $new['button'] = "<a href='__URL__/lookupTask/id/" . $val['id'] . "' title='子任务基本信息查看' target='dialog' width='600' height='500' mask='true'>基本信息</a>";
         $taskTree[$new['id']] = $new;
         $isLeaf = $this->getChildTaskTree($val['taskid'], $taskTree, $level);
         $taskTree[$new['id']]['isLeaf'] = $isLeaf;
     }
     return false;
 }
 /**
  * @Title: lookupGetdate 
  * @Description: todo(加载选中数据)   
  * @author liminggang 
  * @date 2013-7-3 上午11:07:34 
  * @throws
  */
 public function lookupGetdate()
 {
     $name = 'MisWorkStatement';
     $model = M('mis_work_statement');
     $map = array();
     $map['status'] = 1;
     $starttime = strtotime($_REQUEST['starttime']);
     $endtime = strtotime($_REQUEST['endtime']);
     /* if (! empty ( $name )) {
     			$qx_name=$name;
     			//验证浏览及权限
     			if( !isset($_SESSION['a']) ){
     				if( $_SESSION[strtolower($qx_name.'_'.ACTION_NAME)]!=1 ){
     					if( $_SESSION[strtolower($qx_name.'_'.ACTION_NAME)]==2 ){////判断部门及子部门权限
     						$map["createid"]=array("in",$_SESSION['user_dep_all_child']);
     					}else if($_SESSION[strtolower($qx_name.'_'.ACTION_NAME)]==3){//判断部门权限
     						$map["createid"]=array("in",$_SESSION['user_dep_all_self']);
     					}else if($_SESSION[strtolower($qx_name.'_'.ACTION_NAME)]==4){//判断个人权限
     						$map["createid"]=$_SESSION[C('USER_AUTH_KEY')];
     					}
     				}
     			}
     		} */
     $map["createid"] = $_SESSION[C('USER_AUTH_KEY')];
     $map['createtime'] = array("exp", ">=" . $starttime . " and createtime <" . $endtime);
     $list = $model->where($map)->field('id,createtime')->select();
     $aaa = $arr = array();
     foreach ($list as $key => $value) {
         $daytime = date("Y-m-d", $value['createtime']);
         $daytime = strtotime($daytime);
         if (!in_array($daytime, $aaa)) {
             $start = transTime($value['createtime'], 'Y-m-d H:i:s');
             $end = transTime($value['createtime'] + 1, 'Y-m-d H:i:s');
             $arr[] = array('id' => $value['id'], 'title' => "", 'start' => $start, 'end' => $end, 'tdclassName' => 'pred');
             array_push($aaa, $daytime);
         }
     }
     echo json_encode($arr);
 }
    /**
     * @Title: doFlowsMessage
     * @Description: todo(处理协同发送消息) 
     * @param 接收人 $auserid
     * @param 标题 $title
     * @param 协同ID $ids
     * @param 处理类型 $type :“审核”、“终止”
     * @author 杨东 
     * @date 2014-4-25 上午11:55:21 
     * @throws 
     */
    private function doFlowsMessage($auserid, $title, $ids, $type)
    {
        //发布人
        $name = getFieldBy($_SESSION[C('USER_AUTH_KEY')], 'id', 'name', 'user');
        //发送的系统日志的标题
        $messageTitle = $name . $type . '了您发送的协同事项【' . $title . '】 ,请查阅!  ' . transTime(time(), 'Y-m-d H:i');
        //系统日志的内容
        $messageContent = '
			<p></p>
			<span></span>
			<div style="width:98%;">
				<p class="font_darkblue">&nbsp;您好!</p>
				<p>&nbsp;&nbsp;&nbsp;&nbsp;<strong>' . $name . "&nbsp;" . $type . ' </strong>了您发送的协同事项【
				<a class="redo tml-c-blue" style="text-decoration: underline" href="__APP__/MisOaItems/view/id/' . $ids . '" target="navTab" title="协同事项_查看" rel="MisOaItemsview">' . $title . '</a>
				】 ,请点击链接进行查阅!。</p>
				<p>&nbsp;&nbsp;&nbsp;&nbsp;如果您有任何问题,请联系' . $name . '。</p>
			</div>';
        //系统推送消息
        $this->pushMessage($auserid, $messageTitle, $messageContent);
    }
 /**
  * @Title: myEvents
  * @Description: todo(我的日程管理,在我的桌面日历上面标记我的日程)
  * @author liminggang
  * @date 2013-12-30 下午3:19:48
  * @throws
  */
 private function myEvents()
 {
     //获取当前登录用户
     $userid = $_SESSION[C('USER_AUTH_KEY')];
     //获取当前登录人的日程
     $model = D('MisUserEvents');
     //获取当前月份的日程
     // 		$y=date("Y",time());
     // 		$m=date("m",time());
     // 		$d=date("d",time());
     // 		$t0=date('t');           // 本月一共有几天
     // 		$starttime=mktime(0,0,0,$m,1,$y);        // 创建本月开始时间
     // 		$endtime=mktime(23,59,59,$m,$t0,$y);       // 创建本月结束时间
     $map['_string'] = 'FIND_IN_SET(  ' . $userid . ',personid ) or userid = ' . $_SESSION[C('USER_AUTH_KEY')];
     $map['status'] = 1;
     $list = $model->where($map)->select();
     //第二部,分解日程,特别是一个日程中连续夸天数的。拆分开
     if ($list) {
         $num = count($list);
         foreach ($list as $key => $val) {
             $a = strtotime(transTime($val['startdate']));
             $b = strtotime(transTime($val['enddate']));
             $x = ($b - $a) / 86400;
             if ($x) {
                 for ($i = 1; $i <= $x; $i++) {
                     $val['begintime'] = strtotime("+" . $i . " day", $a);
                     $list[$num] = $val;
                     $num++;
                 }
             }
             $list[$key]['begintime'] = $a;
         }
     }
     $arr = array();
     //第三部、分解一天中多个日程。
     if ($list) {
         foreach ($list as $k => $v) {
             $str = htmlspecialchars_decode($v['details'], ENT_QUOTES);
             //转码
             $str = trim(strip_tags(str_replace("&nbsp;", ' ', $str)));
             //过滤html
             $v['details'] = $str;
             if (!in_array($v['begintime'], array_keys($arr))) {
                 $arr[$v['begintime']][] = $v;
             } else {
                 $arr[$v['begintime']][] = $v;
             }
         }
     }
     //第四部、判断日程属于那种类型,1,2,3
     $azz = array();
     foreach ($arr as $k1 => $v1) {
         $self = 1;
         foreach ($v1 as $k2 => $v2) {
             if ($v2['userid'] == $userid) {
                 $self = 1;
                 //自己发
                 if (in_array($userid, explode(",", $v2['personid']))) {
                     $self = 3;
                     break;
                 }
             } else {
                 if (in_array($userid, explode(",", $v2['personid']) && $v2['userid'] != $userid)) {
                     $self = 2;
                     //别人发的。
                 }
             }
         }
         $azz[$k1][$self] = $v1;
     }
     $this->assign('myEvents', json_encode($azz));
 }
 /**
  * @Title: getMyEvents
  * @Description: todo(我的日程管理,在我的桌面日历上面标记我的日程)
  * @author liminggang
  * @date 2013-12-30 下午3:19:48
  * @throws
  */
 public function getMyEvents()
 {
     //获取当前登录用户
     $userid = $_SESSION[C('USER_AUTH_KEY')];
     //获取当前登录人的日程
     //$model = D('MisUserEvents');
     //获取当前月份的日程
     $map['_string'] = 'FIND_IN_SET(  ' . $userid . ',personid ) or userid = ' . $_SESSION[C('USER_AUTH_KEY')];
     $map['status'] = 1;
     $list = $this->where($map)->select();
     //第二部,分解日程,特别是一个日程中连续夸天数的。拆分开
     if ($list) {
         $num = count($list);
         foreach ($list as $key => $val) {
             //转移掉反斜杠
             $list[$key]['details'] = preg_replace("|[" . chr(1) . "-" . chr(31) . "]+|", '', $val['details']);
             $list[$key]['text'] = preg_replace("|[" . chr(1) . "-" . chr(31) . "]+|", '', $val['text']);
             $a = strtotime(transTime($val['startdate']));
             $b = strtotime(transTime($val['enddate']));
             $x = ($b - $a) / 86400;
             if ($x) {
                 for ($i = 1; $i <= $x; $i++) {
                     $val['begintime'] = strtotime("+" . $i . " day", $a);
                     $list[$num] = $val;
                     $num++;
                 }
             }
             $list[$key]['begintime'] = $a;
         }
     }
     $arr = array();
     //第三部、分解一天中多个日程。
     if ($list) {
         foreach ($list as $k => $v) {
             $str = htmlspecialchars_decode($v['details'], ENT_QUOTES);
             //转码
             $str = trim(strip_tags(str_replace("&nbsp;", ' ', $str)));
             //过滤html
             $v['details'] = $str;
             if (!in_array($v['begintime'], array_keys($arr))) {
                 $arr[$v['begintime']][] = $v;
             } else {
                 $arr[$v['begintime']][] = $v;
             }
         }
     }
     //第四部、判断日程属于那种类型,1,2,3
     $azz = array();
     foreach ($arr as $k1 => $v1) {
         $self = 1;
         foreach ($v1 as $k2 => $v2) {
             if ($v2['userid'] == $userid) {
                 $self = 1;
                 //自己发
                 if (in_array($userid, explode(",", $v2['personid']))) {
                     $self = 3;
                     break;
                 }
             } else {
                 if (in_array($userid, explode(",", $v2['personid']) && $v2['userid'] != $userid)) {
                     $self = 2;
                     //别人发的。
                 }
             }
             foreach ($v2 as $k3 => $v3) {
                 $v1[$k2][$k3] = is_string($v3) ? stripslashes($v3) : $v3;
             }
         }
         $azz[$k1][$self] = $v1;
     }
     return $azz;
 }
 /**
  *
  * @Title: getDeptZtree
  * @Description: todo(传入公司id生成树形结构 $parentisclick顶级是否可点击)
  * @param unknown_type $deptlist
  * @return multitype:multitype:string boolean unknown
  * @author renling
  * @date 2014-9-3 上午10:51:02
  * @throws
  */
 public function getDeptZtree($companyid, $parentisclick, $rel, $method, $url, $checkuser)
 {
     //查询所有部门信息
     $where = array();
     $where['status'] = 1;
     if ($companyid) {
         $where['companyid'] = $companyid;
     }
     if (!$method) {
         $method = "index";
     }
     $deptlist = $this->where($where)->select();
     $MisHrPersonnelUserDeptViewModel = D('MisHrPersonnelUserDeptView');
     $arr = array();
     foreach ($deptlist as $k => $v) {
         if ($v['iscompany'] == 1) {
             $pid = 0;
         } else {
             $pid = $v['parentid'];
         }
         if ($v['iscompany'] == 1 && !$parentisclick) {
             $arr[] = array('id' => -$v['id'], 'name' => $v['name'], 'title' => $v['name'], 'pId' => $pid, 'isParent' => true, 'open' => 'true');
         } else {
             if ($checkuser) {
                 $hrMap = array();
                 $hrMap['_string'] = "user_dept_duty.status=1  and user.status>0 and user_dept_duty.deptid=" . $v['id'];
                 if ($companyid) {
                     $newcompanyid = $companyid;
                 } else {
                     $newcompanyid = $v['companyid'];
                 }
                 $hrMap['user_dept_duty.companyid'] = $newcompanyid;
                 //查询该部门下的人员
                 $MisHrPersonnelList = $MisHrPersonnelUserDeptViewModel->where($hrMap)->select();
                 if ($MisHrPersonnelList) {
                     $eamil = array();
                     $userid = array();
                     $username = array();
                     $mobile = array();
                     $personid = array();
                     foreach ($MisHrPersonnelList as $hrkey => $hrval) {
                         if ($hrval['id']) {
                             $arr[] = array('id' => $hrval['id'], 'email' => $hrval['email'], 'mobile' => $hrval['mobile'], 'personid' => $hrval['id'], 'userid' => $hrval['userid'], 'deptname' => getFieldBy($hrval['deptid'], "id", "name", "mis_system_department"), 'deptid' => $hrval['deptid'], 'worktype' => $hrval['worktype'], 'worktypename' => getFieldBy($hrval['worktype'], "id", "name", "mis_hr_job_info"), 'dutyid' => $hrval['dutyid'], 'chinaid' => $hrval['chinaid'], 'dutyname' => getFieldBy($hrval['dutyid'], "id", "name", "mis_system_duty"), 'indate' => transTime($hrval['indate']), 'pinyin' => $hrval['pinyin'], 'name' => $hrval['name'], 'title' => $hrval['name'], 'username' => $hrval['username'], 'pId' => -$v['id'], 'type' => 'post', "icon" => "__PUBLIC__/Images/icon/group.png", 'open' => 'true');
                             $eamil[] = $hrval['email'];
                             $userid[] = $hrval['userid'];
                             $username[] = $hrval['username'];
                             $mobile[] = $hrval['mobile'];
                             $personid[] = $hrval['id'];
                         }
                     }
                 }
                 $arr[] = array('id' => -$v['id'], 'ename' => '组部门', 'email' => implode(",", $eamil), 'mobile' => implode(",", $mobile), 'username' => implode(",", $username), 'personid' => implode(",", $personid), 'userid' => implode(",", $userid), 'name' => $v['name'], 'title' => $v['name'], 'pId' => -$pid, 'type' => 'post', 'isParent' => true, 'open' => 'true');
                 $eamil = array();
                 $userid = array();
                 $username = array();
                 $mobile = array();
                 $personid = array();
             } else {
                 $arr[] = array('id' => $v['id'], 'name' => $v['name'], 'title' => $v['name'], 'pId' => $pid, 'type' => 'post', 'url' => '__URL__/' . $method . '/jump/jump/deptid/' . $v['id'] . '/ptId/' . $v['parentid'] . '/companyid/' . $v['companyid'] . $url, 'target' => 'ajax', 'rel' => $rel, 'isParent' => true, 'open' => 'false');
             }
             $id++;
         }
     }
     return json_encode($arr);
 }
 /**
  * @Title: lookupGetdate 
  * @Description: todo(获得存在数据库中的任务名,显示在日历上)   
  * @author xiafengqin 
  * @date 2013-7-23 下午1:48:00 
  * @throws
  */
 public function lookupGetdate()
 {
     $executelist = array();
     //执行的任务
     $tracklist = array();
     //跟踪的任务
     $viewModel = D("MisTaskInformationView");
     $map['status'] = 1;
     //判断是否有执行权限
     if ($_SESSION['a'] || $_SESSION['mistaskadscription_edit']) {
         $map['_string'] = 'mis_task_information.executeuser = '******'USER_AUTH_KEY')];
         $executelist = $viewModel->where($map)->select();
     }
     if ($_SESSION['a'] || $_SESSION['mistaskinformation_trace']) {
         $map['_string'] = 'mis_task_information.trackuser = '******'USER_AUTH_KEY')];
         $tracklist = $viewModel->where($map)->select();
     }
     $arr = array();
     foreach ($executelist as $key => $value) {
         $datas['id'] = $value['id'];
         $datas['taskid'] = $value['taskid'];
         $datas['title'] = missubstr($value['title'], 20, true);
         $datas['start'] = transTime($value['begindate'], 'Y-m-d H:i:s');
         $datas['end'] = transTime($value['enddate'], 'Y-m-d H:i:s');
         $datas['urgentstatus'] = $value['urgentstatus'];
         $datas['className'] = $value['urgentstatus'] == 1 ? 'myblue' : ($value['urgentstatus'] == 2 ? 'myorange' : 'myred');
         //这里可以设置此action的样式
         $datas['type'] = 'execute';
         $arr[] = $datas;
     }
     foreach ($tracklist as $key => $value) {
         $datas['id'] = $value['id'];
         $datas['taskid'] = $value['taskid'];
         $datas['title'] = missubstr($value['title'], 20, true);
         $datas['start'] = transTime($value['begindate'], 'Y-m-d H:i:s');
         $datas['end'] = transTime($value['enddate'], 'Y-m-d H:i:s');
         $datas['urgentstatus'] = $value['urgentstatus'];
         $datas['className'] = $value['urgentstatus'] == 1 ? 'myblue' : ($value['urgentstatus'] == 2 ? 'myorange' : 'myred');
         //这里可以设置此action的样式
         $datas['type'] = 'track';
         $arr[] = $datas;
     }
     echo json_encode($arr);
 }
Beispiel #19
0
 /**
  *
  * @Title: SaveVersionWord
  * @Description: todo(生成任意位字符随机数)
  * @param int		$id		操作数据ID
  * @param string	$name	当前操作表单Model名称
  * @param boolean	$isrelation	是否为直接输出错误信息,false:直接输出,true:异常抛出, 默认false
  * @param boolean   $return 是否返回数据 默认为false 
  * @author xiayuqin
  * @date 2015-6-27 上午11:23:35
  * @throws
  */
 public function SaveVersionWord($id, $name, $isrelation = false, $return = false)
 {
     $id = $id;
     if (!$id) {
         if (!$isrelation) {
             $this->error('数据版本错误,ID不存在!');
         } else {
             $msg = "数据版本错误,ID不存在!";
             throw new NullPointExcetion($msg);
         }
     }
     if (empty($name)) {
         $name = $this->getActionName();
     }
     $list = $this->get_export_label($id, $name);
     //查询节点下面的审批记录
     $ProcessInfoHistoryModel = D('ProcessInfoHistory');
     //先查询启动流程的意见
     $HistoryMap = array();
     $HistoryMap['tableid'] = $id;
     $HistoryMap['tablename'] = $name;
     $HistoryMap['dotype'] = 2;
     //流程启动
     $History = $ProcessInfoHistoryModel->where($HistoryMap)->order("id asc")->field('id,tableid,tablename,ostatus,dotime,doinfo,userid')->find();
     //获取后台用户名称
     $userid = "";
     $time = "";
     if ($History) {
         $userid = getFieldBy($History['userid'], 'id', 'name', 'user');
         $time = transTime($History['dotime'], 'Y/m/d H:i');
     }
     $prorelaName = "制单节点";
     //查询当前流程开始节点名称
     $process_info = M("process_info");
     $promap = array();
     $promap['nodename'] = $name;
     $promap['default'] = 1;
     $pinfoid = $process_info->where($promap)->getField("id");
     if ($pinfoid) {
         //实例化节点表
         $process_relation = M("process_relation");
         $promap = array();
         $promap['tablename'] = "process_info";
         $promap['pinfoid'] = $pinfoid;
         $promap['flowtype'] = 0;
         //开始节点
         //获取开始节点名称
         $prorelaName = $process_relation->where($promap)->getField("name");
     }
     //模式一 begin
     $newHinfo = array();
     //节点名称
     $newHinfo['createname']['original'][] = $prorelaName;
     $newHinfo['createname']['value'][] = $prorelaName;
     //审核意见
     $newHinfo['createdoinfo']['original'][] = $History['doinfo'];
     $newHinfo['createdoinfo']['value'][] = $History['doinfo'];
     //审核时间
     $newHinfo['createdotime']['original'][] = $time;
     $newHinfo['createdotime']['value'][] = $time;
     //审核人
     $newHinfo['createuser']['original'][] = $userid;
     $newHinfo['createuser']['value'][] = $userid;
     //模式一  end
     //模式二   begin
     $list["createname"] = array('name' => "createname", 'showname' => '', 'original' => '', 'value' => $prorelaName);
     $list["createdoinfo"] = array('name' => "createdoinfo", 'showname' => '', 'original' => '', 'value' => $History['doinfo']);
     $list["createdotime"] = array('name' => "createdotime", 'showname' => '', 'original' => '', 'value' => $time);
     $list["createuser"] = array('name' => "createuser", 'showname' => '', 'original' => '', 'value' => $userid);
     //模式二  end
     //流程启动节点拼装完成
     //拼装流程审核节点意见---- 不管意见是否存在。节点内容全部输出。满足表格形似的意见
     $sql = "SELECT flowid,process_relation_form.`name` AS name,user.`name` AS username,doinfo,dotime FROM process_relation_form\n\t\tLEFT JOIN `process_info_history` ON process_relation_form.`id` = process_info_history.`ostatus`\n\t\tLEFT JOIN `user` ON process_info_history.`userid` = user.`id`\n\t\tWHERE process_relation_form.`tablename` = '{$name}' AND process_relation_form.`tableid`={$id} \n\t\tAND process_relation_form.`doing`=  1 AND process_relation_form.catgory = 0 AND process_relation_form.flowtype in (2,3)";
     $Mdl = M();
     //查询流程审核节点信息
     $bach = array();
     $relation_formlist = $Mdl->query($sql);
     foreach ($relation_formlist as $rk => $rv) {
         if (in_array($rv['flowid'], array_keys($bach))) {
             $bach[$rv['flowid']] += 1;
         } else {
             $bach[$rv['flowid']] = 0;
         }
         $time = "";
         if ($rv['dotime']) {
             $time = transTime($rv['dotime'], 'Y/m/d H:i');
         }
         //如果为0 则标记没有
         $num = $bach[$rv['flowid']] > 0 ? $bach[$rv['flowid']] : '';
         $list[substr(md5($rv['flowid'] . "HS_name"), 0, 8) . $num] = array('name' => substr(md5($rv['flowid'] . "HS_name"), 0, 8) . $num, 'showname' => '', 'original' => '', 'value' => $rv['name']);
         $list[substr(md5($rv['flowid'] . "HS_doinfo"), 0, 8) . $num] = array('name' => substr(md5($rv['flowid'] . "HS_doinfo"), 0, 8) . $num, 'showname' => '', 'original' => '', 'value' => $rv['doinfo']);
         $list[substr(md5($rv['flowid'] . "HS_dotime"), 0, 8) . $num] = array('name' => substr(md5($rv['flowid'] . "HS_dotime"), 0, 8) . $num, 'showname' => '', 'original' => '', 'value' => $time);
         $list[substr(md5($rv['flowid'] . "HS_userid"), 0, 8) . $num] = array('name' => substr(md5($rv['flowid'] . "HS_userid"), 0, 8) . $num, 'showname' => '', 'original' => '', 'value' => $rv['username']);
         //瓶装表格审批数据
         //节点名称
         $newHinfo['createname']['original'][] = $rv['name'];
         $newHinfo['createname']['value'][] = $rv['name'];
         //审核意见
         $newHinfo['createdoinfo']['original'][] = $rv['doinfo'];
         $newHinfo['createdoinfo']['value'][] = $rv['doinfo'];
         //审核时间
         $newHinfo['createdotime']['original'][] = $time;
         $newHinfo['createdotime']['value'][] = $time;
         //审核人
         $newHinfo['createuser']['original'][] = $rv['username'];
         $newHinfo['createuser']['value'][] = $rv['username'];
     }
     $tableInfo = array('0' => array('name' => '0', 'is_stats' => 0, 'func' => '', 'funcdata' => '', 'original' => $newHinfo['createname']['original'], 'value' => $newHinfo['createname']['value']), '1' => array('name' => '1', 'is_stats' => 0, 'func' => '', 'funcdata' => '', 'original' => $newHinfo['createdoinfo']['original'], 'value' => $newHinfo['createdoinfo']['value']), '2' => array('name' => '2', 'is_stats' => 0, 'func' => '', 'funcdata' => '', 'original' => $newHinfo['createuser']['original'], 'value' => $newHinfo['createuser']['value']), '3' => array('name' => '3', 'is_stats' => 0, 'func' => '', 'funcdata' => '', 'original' => $newHinfo['createdotime']['original'], 'value' => $newHinfo['createdotime']['value']));
     $hisarr = array();
     //构造整个审核意见框
     $hisarr = array('name' => 'doinfoval', 'is_datatable' => 1, 'title_none' => 1, 'showname' => '审核意见', 'value' => $tableInfo);
     $list['doinfoval'] = $hisarr;
     if ($return) {
         return $list;
     } else {
         //获取当前模型的名称,得到版本控制
         $actionName = getFieldBy($name, 'name', 'title', 'node');
         $savewordModel = M('mis_system_template_saveword');
         $savewordMap['modelid'] = $id;
         $savewordMap['modelname'] = $name;
         $savecount = $savewordModel->where($savewordMap)->count('*');
         if ($savecount) {
             $savecount += 1;
             $savename = $actionName . "(" . $savecount . ")";
         } else {
             $savename = $actionName . "(1)";
         }
         $wordData['modelid'] = $id;
         $wordData['modelname'] = $name;
         $wordData['fileurl'] = null;
         $wordData['swfurl'] = null;
         $wordData['filename'] = $savename . date('Y-m-d H:i:s', time());
         $wordData['isexport'] = 0;
         $wordData['createtime'] = time();
         $wordData['type'] = 0;
         $query = $savewordModel->add($wordData);
         if ($query == false) {
             if (!$isrelation) {
                 $this->error('版本控制保存失败');
             } else {
                 $msg = "版本控制保存失败 [sql error]" . $savewordModel->getError() . '[action]' . $name;
                 throw new NullPointExcetion($msg);
             }
         }
         //数据采用文件缓存方式。文件目录在Dynamicconf/FormListData/$name/$name.$id
         $FormListDataModel = D("FormListData");
         $FormListDataModel->SetRules($list, $name, $name . $query);
     }
 }
 public function render($data)
 {
     if ($data['ShowActionName']) {
         $modulename = $data['ShowActionName'];
     } else {
         $modulename = MODULE_NAME;
         // 当前类名
     }
     //获取流程转授用户信息
     $zhuanshoupson = $this->getZshouPserSon();
     //实例化后台用户模型
     $userModel = D("User");
     //获取节点数据
     $process_relation_formDao = M("process_relation_form");
     //批次并行
     $process_relation_parallelDao = M("process_relation_parallel");
     $where = array();
     $where['tableid'] = $data['id'];
     $where['tablename'] = $modulename;
     $where['doing'] = 1;
     $where['flowtype'] = array('gt', 1);
     $relaformlist = $process_relation_formDao->where($where)->order("sort asc")->getField("relationid,flowtype,auditState,id,name,auditUser,parallel,bacthname,isaudittableid,isauditmodel,catgory");
     //查询开始节点名称
     $prorelaName = "制单节点";
     //查询当前流程开始节点名称
     $process_info = M("process_info");
     $promap = array();
     $promap['nodename'] = $modulename;
     $promap['default'] = 1;
     $pinfoid = $process_info->where($promap)->getField("id");
     if ($pinfoid) {
         //实例化节点表
         $process_relation = M("process_relation");
         $promap = array();
         $promap['tablename'] = "process_info";
         $promap['pinfoid'] = $pinfoid;
         $promap['flowtype'] = 0;
         //开始节点
         //获取开始节点名称
         $prorelaName = $process_relation->where($promap)->getField("name");
     }
     $createUser[] = array('relationid' => 0, 'auditUser' => $data['createid'], 'name' => $prorelaName, 'auditState' => 1);
     //开始节点查询完毕
     $relaformlist = array_merge($createUser, $relaformlist);
     $auditUserArr = array();
     $bool = true;
     foreach ($relaformlist as $key => $val) {
         $userlist = array();
         $arr = array();
         $arr['isaudittableid'] = $val['isaudittableid'];
         $arr['name'] = $val['name'];
         $arr['isauditmodel'] = $val['isauditmodel'];
         $arr['parallel'] = $val['parallel'];
         $arr['nodeid'] = $val['id'];
         $arr['flowtype'] = $val['flowtype'];
         if ($val['auditState'] == 1) {
             //表示当前节点已审核
             $arr['auditStatus'] = 1;
             $arr['classval'] = 'check_current_ed';
         } else {
             if ($bool) {
                 //表示当前为待审核节点
                 $arr['auditStatus'] = 2;
                 $arr['classval'] = 'check_current';
                 $bool = false;
             } else {
                 //未审核节点
                 $arr['auditStatus'] = 0;
                 $arr['classval'] = '';
             }
         }
         if ($val['parallel'] == 2) {
             $person = array();
             //多批次审核人串并混搭
             $map = array();
             $map['tablename'] = $modulename;
             $map['tableid'] = $data['id'];
             $map['relation_formid'] = $val['id'];
             $relation_parallellist = $process_relation_parallelDao->where($map)->select();
             foreach ($relation_parallellist as $k1 => $v1) {
                 if (explode(",", $v1['curAuditUser'])) {
                     $map = array();
                     $map['id'] = array(' in ', explode(",", $v1['curAuditUser']));
                     $userlist = $userModel->where($map)->field("id,name")->select();
                 }
                 $arr1 = array();
                 //判断颜色值
                 $classval = "";
                 if ($v1['auditState'] == 2) {
                     //审核完成
                     $classval = "check_current_ed";
                 }
                 if ($v1['auditState'] == 1) {
                     //待审核
                     $classval = "check_current";
                 }
                 $arr1[] = array('classval' => $classval, 'bacthname' => $v1['bactchname'], 'auditUser' => $userlist);
                 if (!in_array($v1['sort'], array_keys($person))) {
                     $person[$v1['sort']] = $arr1;
                 } else {
                     $person[$v1['sort']] = array_merge($person[$v1['sort']], $arr1);
                 }
             }
             $arr['audituser'] = $person;
         } else {
             if (explode(",", $val['curAuditUser'])) {
                 $map = array();
                 $map['id'] = array(' in ', explode(",", $val["auditUser"]));
                 $userlist = $userModel->where($map)->field("id,name")->select();
             }
             $arr['audituser'] = $userlist;
         }
         $auditUserArr[] = $arr;
     }
     //$disableNoneModel审核信息 默认不显示状态的模块 by xyz 2015-10-28
     $disableNoneModel = array("MisAutoJds", "MisAutoHxz", "MisAutoXny");
     $disable = '';
     if (in_array($modulename, $disableNoneModel)) {
         $disable = 'style="display:none;"';
     }
     $html = "";
     //*******************流程审核人部分********************//
     $html .= '<div class="fieldset_show_box">';
     $html .= '	<legend class="fieldset_legend_toggle side-catalog-text side-catalog-firstanchor">';
     $html .= '		<a name="liuchengtu"></a><b>审核信息</b>';
     $html .= '		<div class="tml_style_line tml_sl4 tml_slb_blue"></div>';
     $html .= '	</legend>';
     $html .= '</div>';
     $html .= '<div class="fieldsetjs_show_box" ' . $disable . '>';
     $html .= '<div class="check_info"><div class="check_flow_path check_flow_path_new">';
     foreach ($auditUserArr as $k => $v) {
         $html .= '<div class="' . $v['classval'] . '">';
         if ($k > 0) {
             $html .= '<span class="forward_sign icon-double-angle-right"></span>';
         }
         $html .= '<div class="per_big_box">';
         $html .= '<div class="pro_top_title">' . $v['name'] . '</div>';
         //加上串并行图标
         if (count(array_keys($v['audituser'])) > 1) {
             if ($v['parallel'] >= 1) {
                 $html .= '<i class="parallel_tips"></i>';
             } else {
                 $html .= '<i class="serial_tips"></i>';
             }
         }
         if ($v['flowtype'] == 3) {
             $html .= '<div class="per_box">';
             $html .= '	<img width="45" src="__PUBLIC__/Images/sub_process.jpg" alt=""/>';
             $name = array();
             foreach ($v['audituser'] as $k1 => $v1) {
                 //定义转授人
                 $zhuanshouren = "";
                 if ($zhuanshoupson) {
                     foreach ($zhuanshoupson as $zskey => $zsval) {
                         if ($zsval['zhuanshouren'] == $v1['id']) {
                             if ($zsval['zhuanshoufanwei'] == "全部") {
                                 $zhuanshouren = getFieldBy($zsval['zhuanshougei'], "id", "name", "user");
                             } else {
                                 //转授明细,暂留
                             }
                         }
                     }
                 }
                 if ($zhuanshouren) {
                     $str = $v1['name'] . "->" . $zhuanshouren;
                 } else {
                     $str = $v1['name'];
                 }
                 //拼装转子流程人
                 array_push($name, $str);
             }
             $name = implode(",", $name);
             if ($v['parallel'] == 0) {
                 if ($v['isaudittableid']) {
                     $bool = getFieldBy($v["isauditmodel"], 'name', 'isprocess', 'node');
                     $function = $bool ? 'auditView' : 'view';
                     $html .= ' <a href="__APP__/' . $v["isauditmodel"] . '/' . $function . '/id/' . $v["isaudittableid"] . '" title="' . $v['name'] . '" target="navTab"><span>' . $v['name'] . '<br/>' . $name . '</span></a>';
                 } else {
                     $html .= ' <span>' . $v['name'] . '<br/>' . $name . '</span>';
                 }
             } else {
                 $html .= ' <span>' . $v['name'] . '<br/>' . $name . '</span>';
             }
             $html .= '</div>';
         } else {
             if ($v['parallel'] == 2) {
                 foreach ($v['audituser'] as $k2 => $v2) {
                     foreach ($v2 as $kk => $vv) {
                         if ($kk > 0) {
                             $html .= '<span class="forward_sign icon-double-angle-right"></span>';
                         }
                         $html .= '<div class="per_big_box per_big_box_new">';
                         $html .= '<div class="' . $vv['classval'] . '">';
                         $html .= '<div class="pro_top_title">' . $vv['bacthname'] . '</div>';
                         foreach ($vv['auditUser'] as $k3 => $v3) {
                             //定义转授人
                             $zhuanshouren = "";
                             if ($zhuanshoupson) {
                                 foreach ($zhuanshoupson as $zskey => $zsval) {
                                     if ($zsval['zhuanshouren'] == $v3['id']) {
                                         if ($zsval['zhuanshoufanwei'] == "全部") {
                                             $zhuanshouren = getFieldBy($zsval['zhuanshougei'], "id", "name", "user");
                                         } else {
                                             //转授明细,暂留
                                         }
                                     }
                                 }
                             }
                             if ($zhuanshouren) {
                                 $str = $v3['name'] . "->" . $zhuanshouren;
                             } else {
                                 $str = $v3['name'];
                             }
                             //获取用户的头像。
                             $pic = $userModel->getUserPic($v3['id']);
                             $html .= '<div class="per_box"><img width="45" alt="" src="' . $pic . '">   <span>' . $str . '</span></div>';
                         }
                         $html .= '</div>';
                         $html .= '</div>';
                     }
                     $html .= '<div class="clear"></div>';
                 }
             } else {
                 foreach ($v['audituser'] as $k1 => $v1) {
                     //定义转授人
                     $zhuanshouren = "";
                     if ($zhuanshoupson) {
                         foreach ($zhuanshoupson as $zskey => $zsval) {
                             if ($zsval['zhuanshouren'] == $v1['id']) {
                                 if ($zsval['zhuanshoufanwei'] == "全部") {
                                     $zhuanshouren = getFieldBy($zsval['zhuanshougei'], "id", "name", "user");
                                 } else {
                                     //转授明细,暂留
                                 }
                             }
                         }
                     }
                     if ($zhuanshouren) {
                         $str = $v1['name'] . "->" . $zhuanshouren;
                     } else {
                         $str = $v1['name'];
                     }
                     //获取用户的头像。
                     $pic = $userModel->getUserPic($v1['id']);
                     $html .= '<div class="per_box">';
                     $html .= '	<img width="45" src="' . $pic . '" alt=""/>';
                     $html .= '   <span>' . $str . '</span>';
                     $html .= '</div>';
                 }
             }
         }
         $html .= '</div></div>';
     }
     $html .= '</div><div class="clear"></div></div>';
     $html .= '<div class="clear"></div>';
     //获取审核意见部分信息
     $ProcessInfoHistoryModel = D("ProcessInfoHistory");
     //查询最新流程
     $pihmap = array();
     //$pihmap['ptmptid'] = $data['ptmptid'];
     $pihmap['tableid'] = $data['id'];
     $pihmap['tablename'] = $modulename;
     $pihlist = $ProcessInfoHistoryModel->where($pihmap)->order('id desc')->select();
     // 过滤回退以前的数据
     // 		$ftrue = true;
     // 		$judge = array();
     // 		foreach ($pihlist as $k2 => $v2) {
     // 			$judge[] = $v2;
     // 		}
     $i = 0;
     foreach ($pihlist as $k3 => $v3) {
         //         	if($v3['ostatus']>0 || $v3['dotype'] == 5 || $v3['dotype']==8 || $v3['dotype'] == 2){
         //获取用户的头像。
         $pic = $userModel->getUserPic($v3['userid']);
         $html .= '<div class="check_info_content">';
         if ($i == 0) {
             $html .= '<div class="file_name">审批</div><div class="tml_style_line tml_slb_red"></div>';
         }
         //获取职级名称
         if ($v3['ostatus'] > 1430000000) {
             $relationname = "加签节点";
         } else {
             $relationname = getFieldBy($v3['ostatus'], 'id', 'name', 'process_relation_form');
         }
         $class = "";
         if ($v3['dotype'] == 6) {
             //打回的样式
             $class = "tml_waring_color";
         }
         $html .= '<div class="check_body">';
         $html .= '	<div class="check_body_left left">';
         $html .= '		<img width="45" src="' . $pic . '" alt="">';
         $html .= '	</div>';
         $html .= '	<div class="check_body_right left">';
         $html .= '		<div class="">';
         $html .= '			<span class="author_color">' . getFieldBy($v3['userid'], 'id', 'name', 'user') . '</span>';
         $html .= '			<span class="tml-mr5 time_color">【' . $relationname . '】</span>';
         $html .= '			<span class="time_color">' . transTime($v3['createtime'], 'Y-m-d H:i') . '</span>';
         $html .= '		</div>';
         $html .= '		<div class="check_content ' . $class . '">' . $v3['doinfo'] . '</div>';
         $html .= '	</div>';
         $html .= '<div class="clear"></div>';
         $html .= '</div>';
         $html .= '</div>';
         $i++;
         //         	}
     }
     $html .= '</div>';
     return $html;
 }
Beispiel #21
0
 function typeConvert($source, $param = null)
 {
     if (!empty($source) && !empty($param)) {
         $type = null;
         //初始化类型
         $tempArr = null;
         //初始化承载值
         $returnData = null;
         //初始化返回值
         if (is_string($param)) {
             $tempArr = array();
             $tempArr = explode("|", $param);
             $type = $tempArr['0'];
         } else {
             if (is_array($param)) {
                 $type = $param['type'];
             }
         }
         switch ($type) {
             case 'time':
                 $returnData = transTime($source);
                 break;
             case 'bool':
                 $returnData = (bool) $source;
                 break;
             case 'int':
                 $returnData = (int) $source;
                 break;
             case 'float':
                 //还可以扩展参数
                 $returnData = round(floatval($source), 2);
                 break;
             case 'string':
                 $returnData = (string) $source;
                 break;
             case 'array':
                 $returnData = (array) $source;
                 break;
             case 'object':
                 $returnData = (object) $source;
                 break;
             case 'null':
                 $returnData = NULL;
                 break;
             default:
                 $returnData = $source;
                 break;
         }
         return $returnData;
     } else {
         return $source;
     }
 }
 /**
  * @Title: _before_add 
  * @Description: todo(打开新增页面前置函数)   
  * @author xiafengqin 
  * @date 2013-6-1 下午3:33:00 
  * @throws
  */
 public function _before_add()
 {
     //自动生成订单
     $scnmodel = D('SystemConfigNumber');
     $orderno = $scnmodel->GetRulesNO('mis_hr_evaluation_train');
     $this->assign("orderno", $orderno);
     //订单编号可写
     $writable = $scnmodel->GetWritable('mis_hr_evaluation_train');
     $this->assign("writable", $writable);
     //查询所有部门信息
     $deptmodel = D("MisSystemDepartment");
     $deptlist = $deptmodel->where("status=1")->select();
     //selectTree做用是生成树型结构的下接选择
     $deptlists = $this->selectTree($deptlist);
     $this->assign("deptlist", $deptlists);
     //部门ID,装表单中的部门默认选种
     $classsource = $_REQUEST['classsource'];
     $this->assign('classsource', $classsource);
     //获取当前时间
     $time = transTime(time(), 'Y');
     $this->assign("time", $time);
 }
Beispiel #23
0
echo count($participation);
?>
</p>
<?php 
if ($this->session->flashdata('msg')) {
    echo "<div class='message'>" . $this->session->flashdata('msg') . "</div>";
}
if (!empty($participation)) {
    echo "<table class='table table-striped table-bordered table-hover table-responsive'>";
    $headers = array('会员编号', '会员姓名', '用户名', '报名时间', '会员管理');
    echo "<tr>";
    foreach ($headers as $header) {
        echo "<th>" . $header . "</th>";
    }
    echo "</tr>";
    foreach ($participation as $key => $list) {
        echo "<tr>";
        echo "<td >" . $list['id'] . "</td>";
        echo "<td>" . $list['realname'] . "</td>";
        echo "<td>" . $list['username'] . "</td>";
        echo "<td>" . transTime($list['enroll_time']) . "</td>";
        echo "<td align='center'>" . anchor('admin/users/edit/' . $list['id'], '查看') . "</td>";
        echo "</tr>";
    }
    echo "</table>";
}
?>
	</div>
</div>

</div>
 /**
  * 回复邮件
  **/
 public function replyMessage()
 {
     //调出用户例表
     $modelMM = A('MisMessage');
     $modelMM->searchuser();
     $id = $_REQUEST['id'];
     $name = "MisMessageUser";
     $model = D($name);
     //联合查询条件
     $condition['a.id'] = $id;
     $list = $model->table('mis_message_user as a')->where($condition)->join('mis_message as b ON a.sendid = b.id')->find();
     //获取原始邮件信息 并组装到div中 传入页面
     $list['createname'] = getFieldBy($list['createid'], 'id', 'name', 'user');
     //
     $list['createtime'] = transTime($list['createtime'], 'Y-m-d h:i');
     $message = "<div style='background:#e0ecf9;'>\n\t\t <p>--------------原始邮件----------------</p>\n\t\t <p><b>主题</b>:{$list['title']}</p>\n\t\t <p><b>发件人</b>:{$list['createname']}</p>\n\t\t <p><b>发件时间</b>:{$list['createtime']}</p>\n         <p><b>收件人</b>:{$list['recipientname']}</p>\n\t\t </div><br/>";
     //回复
     if (!$_REQUEST['transpond']) {
         $list['content'] = $message . $list['content'] . '<br/>';
     } else {
         $list['title'] = "转发:" . $list['title'];
         //获取附件信息
         $this->getAttachedRecordList($list['id'], true, true, array(' in', array('MisMessageDrafts', 'MisMessage', 'MisMessageInbox')));
     }
     $this->assign("vo", $list);
     //转发
     $this->assign('transpond', $_REQUEST['transpond']);
     $this->assign('isreply', $_REQUEST['isreply']);
     $this->assign('outbox', $_REQUEST['outbox']);
     $this->display();
 }
 /**
  * @Title: getHistory 
  * @Description: todo(查询审批数据信息) 
  * @param string 模型名称 $tablename
  * @param int 模型数据ID $tableid
  * @return array 返回处理后的审批记录信息数据    
  * @author liminggang
  * @date 2015-11-11 下午5:32:18 
  * @throws
  */
 function getHistory($tablename, $tableid)
 {
     //查询是否存在审批历史一件
     $process_info_historyDao = M("process_info_history");
     $map = array();
     // 		$map["ostatus"] = array("gt",0);
     $map["_string"] = "ostatus >0 || dotype = 2";
     $map["tableid"] = $tableid;
     $map["tablename"] = $tablename;
     $pihlist = $process_info_historyDao->where($map)->field("id,dotype,doinfo,userid,dotime,ostatus")->order('id desc')->select();
     //过滤回退以前的数据
     $ftrue = true;
     $judge = array();
     foreach ($pihlist as $k2 => $v2) {
         if ($v2['dotype'] == 2) {
             $judge[] = $v2;
             break;
         }
         if ($ftrue) {
             $judge[] = $v2;
         }
     }
     $message = array();
     //拼装历史意见
     if ($judge) {
         //查询审批节点名称
         $process_relationDao = M("process_relation_form");
         foreach ($judge as $k => $v) {
             $map = array();
             $map['id'] = $v['ostatus'];
             if ($v['dotype'] == 2) {
                 //获取审核节点名称
                 $relationname = "启动节点";
             } else {
                 //获取审核节点名称
                 $relationname = $process_relationDao->where($map)->getField("name");
             }
             //获取审核人
             $username = getFieldBy($v['userid'], "id", "name", "user");
             $message["info_history" . $v['id']] = array('name' => $username . "({$relationname})", 'value' => $v['doinfo'] . "           " . transTime($v['dotime'], 'Y-m-d H:i'));
         }
     }
     return $message;
 }
 /**
  * @Title: insert
  * @Description: 流程节点插入,和流程节点审核人信息的插入
  * @author liminggang
  * @date 2014-9-18 下午2:51:49
  * @throws
  */
 public function insert()
 {
     //实例化流程节点模板过滤
     $MisFieldFilterModel = D("MisFieldFilter");
     //模型名称
     $nodename = $_POST['nodename'];
     //获取流程所有数据
     $workflowVal = $_REQUEST['workflowVal'];
     $flowdata = array();
     foreach ($workflowVal as $key => $val) {
         //组合流程节点格式
         $flowdata[] = json_decode(html_entity_decode($val), true);
     }
     //流程节点数据表
     $ProcessRelationModel = D("ProcessRelation");
     //查询当前模型是否存在其他流程
     $process_infoDao = D("processInfo");
     //获取流程信息
     if ($_POST['id']) {
         //修改方法
         //组合流程数据
         $name = $_POST['name'];
         $data['id'] = $_POST['id'];
         $data['name'] = $name;
         $data['catgory'] = $_POST['catgory'];
         $data['typeid'] = $_POST['typeid'];
         $data['flowtrack'] = json_encode($flowdata);
         $data['title'] = $_POST['title'];
         $data['updatetime'] = time();
         $data['default'] = $_POST['default'] ? $_POST['default'] : '';
         $data['updateid'] = $_SESSION[C('USER_AUTH_KEY')];
         $addresult = $process_infoDao->save($data);
         if ($addresult === false) {
             $this->error("流程操作失败,请联系管理员");
         }
         //成功重新赋值为数据ID
         $addresult = $_POST['id'];
         //先删除原有的流程批次信息,在进行新增
         $map = array();
         $map['pinfoid'] = $addresult;
         $map['tablename'] = "process_info";
         $relaids = $ProcessRelationModel->where($map)->getField("id,pinfoid");
         if ($relaids) {
             //删除知会人员信息
             $mis_system_selectuserDao = M("mis_system_selectuser");
             $map = array();
             $map['modelname'] = "ProcessManage";
             $map['tableid'] = array(' in ', array_keys($relaids));
             $result = $mis_system_selectuserDao->where($map)->delete();
             if (!$result) {
                 $this->error("数据清理失败,请联系管理员");
             }
             //流程审核人数据表mis_system_user_bactch
             $MisSystemUserBactchModel = D("MisSystemUserBactch");
             $map = array();
             $map['id'] = array(' in ', array_keys($relaids));
             $resultrela = $ProcessRelationModel->where($map)->delete();
             $map = array();
             $map['tablename'] = 'process_relation';
             $map['tableid'] = array(' in ', array_keys($relaids));
             $resultbactch = $MisSystemUserBactchModel->where($map)->delete();
             if (!$resultrela || !$resultbactch) {
                 $this->error("数据清理失败,请联系管理员");
             }
         }
     } else {
         //流程名称
         $where = array();
         $where['nodename'] = $nodename;
         $where['catgory'] = $_POST['catgory'];
         $infolist = $process_infoDao->where($where)->getField("id,name");
         if (count($infolist) > 0) {
             //存在其他流程,修改为非默认使用流程
             $result = $process_infoDao->where($where)->setField("default", 0);
             if ($result === false) {
                 $this->error("修改其他默认流程失败,请联系管理员");
             }
         }
         //组合流程数据
         $name = $_POST['name'];
         $data['name'] = $name;
         $data['catgory'] = $_POST['catgory'];
         $data['nodename'] = $nodename;
         $data['typeid'] = $_POST['typeid'];
         $data['default'] = $_POST['default'];
         $data['title'] = $_POST['title'];
         $data['flowtrack'] = json_encode($flowdata);
         $data['createtime'] = time();
         $data['createid'] = $_SESSION[C('USER_AUTH_KEY')];
         $data['companyid'] = $_SESSION['companyid'];
         $addresult = $process_infoDao->add($data);
     }
     if ($addresult === false) {
         $this->error("流程操作失败,请联系管理员");
     } else {
         //流程审核人数据表mis_system_user_bactch
         $MisSystemUserBactchModel = D("MisSystemUserBactch");
         //实例化用户模型
         $UserModel = D("User");
         foreach ($flowdata as $key => $val) {
             //进行html标签替换
             $processcondition = str_replace(array('&quot;', '&#39;', '&lt;', '&gt;'), array('"', "'", '<', '>'), $val['processcondition']);
             $processrules = str_replace(array('&quot;', '&#39;', '&lt;', '&gt;'), array('"', "'", '<', '>'), $val['processrules']);
             //组装存储数组
             $data = array();
             $data['tablename'] = "process_info";
             $data['pinfoid'] = $addresult;
             $data['flowid'] = $val['ids'];
             $data['name'] = $val['processname'];
             $data['flowtype'] = $val['choose'] ? $val['choose'] : 0;
             $data['processto'] = $val['processto'] ? $val['processto'] : '';
             $data['processall'] = $val['processall'] ? $val['processall'] : '';
             $data['processcondition'] = $processcondition ? $processcondition : '';
             $data['processrules'] = $processrules ? $processrules : '';
             $data['processrulesinfo'] = $val['processrulesinfo'] ? $val['processrulesinfo'] : '';
             $data['filterwritsetempty'] = $val['filterwritsetempty'] ? $val['filterwritsetempty'] : '';
             $data['filterreadsetempty'] = $val['filterreadsetempty'] ? $val['filterreadsetempty'] : '';
             $data['isauditmodel'] = $val['isauditmodel'] ? $val['isauditmodel'] : '';
             $data['issourcemodel'] = $val['issourcemodel'] ? $val['issourcemodel'] : '';
             $data['sort'] = $val['level'];
             $data['istuihui'] = $val['istuihui'];
             $data['parallel'] = $val['processaudit']['parallel'];
             $data['isauto'] = $val['processaudit']['isauto'];
             $data['document'] = $val['processaudit']['document'];
             $data['ismobile'] = $val['processaudit']['ismobile'];
             $data['createtime'] = time();
             $data['createid'] = $_SESSION[C('USER_AUTH_KEY')];
             $data['companyid'] = $_SESSION['companyid'];
             $relaid = $ProcessRelationModel->add($data);
             if ($relaid) {
                 $filterwritsetempty = array_filter(explode(",", $data['filterwritsetempty']));
                 $filterreadsetempty = array_filter(explode(",", $data['filterreadsetempty']));
                 $arr = array();
                 foreach ($filterwritsetempty as $wkey => $wval) {
                     $arr[$wval] = array(1, 0);
                 }
                 foreach ($filterreadsetempty as $rkey => $rval) {
                     if (in_array($rval, array_keys($arr))) {
                         $arr[$rval] = array(1, 1);
                     } else {
                         $arr[$rval] = array(0, 1);
                     }
                 }
                 if ($arr) {
                     //组合节点不可操作字段
                     $data = array();
                     $data = array($nodename, $relaid, '', $arr);
                     try {
                         $MisFieldFilterModel->createFilter($data);
                     } catch (Exception $e) {
                         logs($e->getMessage(), "filter" . transTime(time()));
                     }
                 }
                 if (is_array($val['informpersonid']) && isset($val['informpersonid'])) {
                     //插入数据
                     if ($val['informpersonid']['sysselectuser'] && $val['informpersonid']) {
                         /*
                          * 满足此setSelectUser方法。配置post参数
                          */
                         $_POST['recipientname'] = $val['informpersonid']['recipientname'];
                         $_POST['recipient'] = $val['informpersonid']['recipient'];
                         $_POST['groupname'] = $val['informpersonid']['groupname'];
                         $_POST['groupid'] = $val['informpersonid']['groupid'];
                         $_POST['sysselectuser'] = $val['informpersonid']['sysselectuser'];
                         $result = $UserModel->setSelectUser("ProcessManage", $relaid, "sysselectuser");
                         if (!$result) {
                             $this->error("添加知会人失败!");
                         }
                     }
                 }
                 $dataList = array();
                 if (is_array($val['processaudit']) && isset($val['processaudit'])) {
                     $bacthcval = $val['processaudit'];
                     //审核人相关信息
                     $userobjid = explode(";", $bacthcval['userobjid']);
                     $bactchname = explode(";", $bacthcval['bactchname']);
                     $userobjidname = explode(";", $bacthcval['userobjidname']);
                     $userobj = explode(";", $bacthcval['userobj']);
                     $userobjname = explode(";", $bacthcval['userobjname']);
                     //进行html标签替换
                     $htmlrule = str_replace(array('&quot;', '&#39;', '&lt;', '&gt;'), array('"', "'", '<', '>'), $bacthcval['rule']);
                     $htmlrulename = str_replace(array('&quot;', '&#39;', '&lt;', '&gt;'), array('"', "'", '<', '>'), $bacthcval['rulename']);
                     $rule = explode(";", $htmlrule);
                     $rulename = explode(";", $htmlrulename);
                     $bactch = explode(";", $bacthcval['bactch']);
                     $rulesinfo = explode(";", $bacthcval['rulesinfo']);
                     foreach ($userobjid as $objkey => $objval) {
                         //插入批次信息
                         $dataList[] = array('name' => $bactchname[$objkey], 'tablename' => "process_relation", 'tableid' => $relaid, 'userobjid' => $objval, 'userobj' => $userobj[$objkey], 'userobjname' => $userobjname[$objkey], 'rule' => $rule[$objkey], 'rulename' => $rulename[$objkey], 'rulesinfo' => $rulesinfo[$objkey], 'sort' => $bactch[$objkey], 'createtime' => time(), 'createid' => $_SESSION[C('USER_AUTH_KEY')]);
                     }
                     $bactchResult = $MisSystemUserBactchModel->addAll($dataList);
                     if ($bactchResult === false) {
                         $this->error("流程新增失败,请联系管理员");
                     }
                 }
             } else {
                 $this->error("流程新增失败,请联系管理员");
             }
         }
         $this->success("流程新增成功!");
     }
 }
 /**
  * @Title: getlefttree 
  * @Description: todo(获取左侧树)   
  * @author libo 
  * @date 2014-3-14 下午6:18:33 
  * @throws
  */
 public function getlefttree()
 {
     //加载配置文件
     $list = (require './Dynamicconf/System/selectlist.inc.php');
     //实例化
     $MHPIIImodel = D("MisHrPersonnelIndustrialInjuryInfo");
     $treez = array();
     // 树初始化
     //全部
     $treez[] = array('id' => -1, 'pId' => 0, 'name' => '全部', 'title' => '全部', 'rel' => "MisHrPersonnelIndustrialInjuryInfoBox", 'target' => 'ajax', 'icon' => "", 'url' => "__URL__/index/all/1/jump/1", 'open' => true);
     //其他类型
     $treez[] = array('id' => 115, 'pId' => -1, 'name' => '其他类型', 'title' => '其他类型', 'rel' => "MisHrPersonnelIndustrialInjuryInfoBox", 'target' => 'ajax', 'icon' => "", 'url' => "__URL__/index/enddate/all/jump/1", 'open' => true);
     $qttreenode[] = array('id' => 1, 'pId' => 115, 'name' => '预截止', 'title' => '预截止', 'rel' => "MisHrPersonnelIndustrialInjuryInfoBox", 'target' => 'ajax', 'icon' => "", 'url' => "__URL__/index/enddate/1/jump/1", 'open' => true);
     $qttreenode[] = array('id' => 2, 'pId' => 115, 'name' => '已完结', 'title' => '已完结', 'rel' => "MisHrPersonnelIndustrialInjuryInfoBox", 'target' => 'ajax', 'icon' => "", 'url' => "__URL__/index/disposestage/7/jump/1/enddate/2", 'open' => true);
     $treez = array_merge($treez, $qttreenode);
     //伤势分类
     $treez[] = array('id' => 111, 'pId' => -1, 'name' => '伤势分类', 'title' => '伤势分类', 'rel' => "MisHrPersonnelIndustrialInjuryInfoBox", 'target' => 'ajax', 'icon' => "", 'url' => "__URL__/index/hurtcondition/all/jump/1", 'open' => true);
     //获取伤势分类
     $HClist = $list["hurtcondition"]["hurtcondition"];
     if ($HClist) {
         foreach ($HClist as $key => $value) {
             $hctreenode[] = array('id' => $key, 'pId' => 111, 'name' => $value, 'title' => $value, 'rel' => "MisHrPersonnelIndustrialInjuryInfoBox", 'target' => 'ajax', 'icon' => "", 'url' => "__URL__/index/hurtcondition/" . $key . "/jump/1", 'open' => true);
         }
     }
     if ($HClist) {
         $treez = array_merge($treez, $hctreenode);
     }
     //时间分类
     $treez[] = array('id' => 112, 'pId' => -1, 'name' => '时间分类', 'title' => '时间分类', 'rel' => "MisHrPersonnelIndustrialInjuryInfoBox", 'target' => 'ajax', 'icon' => "", 'url' => "__URL__/index/accidenttime/all/jump/1", 'open' => true);
     //获取时间分类
     $MHPIIItimelist = $MHPIIImodel->where("status=1")->order('accidenttime desc')->getfield('accidenttime');
     //获取年
     $yealtime = substr(transTime($MHPIIItimelist), 0, 4);
     for ($i = $yealtime; $i > $yealtime - 4; $i--) {
         if ($i == $yealtime - 3) {
             $name = "年以前";
             $nname = "_1";
         } else {
             $name = '年';
             $nname = "_2";
         }
         $treenode[] = array('id' => 1, 'pId' => 112, 'name' => $i . $name, 'title' => $i . $name, 'rel' => "MisHrPersonnelIndustrialInjuryInfoBox", 'target' => 'ajax', 'icon' => "", 'url' => "__URL__/index/accidenttime/" . $i . $nname . "/jump/1", 'open' => true);
     }
     if ($treenode) {
         $treez = array_merge($treez, $treenode);
     }
     //区域类型
     $treez[] = array('id' => 113, 'pId' => -1, 'name' => '区域类型', 'title' => '区域类型', 'rel' => "MisHrPersonnelIndustrialInjuryInfoBox", 'target' => 'ajax', 'icon' => "", 'url' => "__URL__/index/hurtdistrict/all/jump/1", 'open' => true);
     //获取区域分类
     $MSSmodel = D("MisSalesSite");
     $hurtdistrictlist = $MHPIIImodel->where("status=1")->field('hurtdistrict')->group('hurtdistrict')->select();
     if ($hurtdistrictlist['0']['hurtdistrict'] == 0) {
         //当没有区域选择时
         unset($hurtdistrictlist['0']);
     }
     if ($hurtdistrictlist) {
         foreach ($hurtdistrictlist as $k => $v) {
             $MSname = $MSSmodel->where("status=1 and id=" . $v['hurtdistrict'])->getField('name');
             $hdtreenode[] = array('id' => $v, 'pId' => 113, 'name' => $MSname, 'title' => $MSname, 'rel' => "MisHrPersonnelIndustrialInjuryInfoBox", 'target' => 'ajax', 'icon' => "", 'url' => "__URL__/index/hurtdistrict/" . $v['hurtdistrict'] . "/jump/1", 'open' => true);
         }
     }
     if ($hurtdistrictlist) {
         $treez = array_merge($treez, $hdtreenode);
     }
     //阶段
     $treez[] = array('id' => 114, 'pId' => -1, 'name' => '阶段', 'title' => '阶段', 'rel' => "MisHrPersonnelIndustrialInjuryInfoBox", 'target' => 'ajax', 'icon' => "", 'url' => "__URL__/index/disposestage/all/jump/1", 'open' => true);
     //获取阶段分类
     $DSlist = $list["disposestage"]["disposestage"];
     if ($DSlist) {
         foreach ($DSlist as $k1 => $v1) {
             $dstreenode[] = array('id' => $k1, 'pId' => 114, 'name' => $v1, 'title' => $v1, 'rel' => "MisHrPersonnelIndustrialInjuryInfoBox", 'target' => 'ajax', 'icon' => "", 'url' => "__URL__/index/disposestage/" . $k1 . "/jump/1", 'open' => true);
         }
     }
     if ($DSlist) {
         $treez = array_merge($treez, $dstreenode);
     }
     $this->assign("tree", json_encode($treez));
 }
 /**
  * @Title: lookupGetdate
  */
 public function lookupGetdate()
 {
     $name = 'MisOaMeetingSummary';
     $model = D($name);
     $userid = $_SESSION[C('USER_AUTH_KEY')];
     $map = array();
     $map['status'] = 1;
     $map['_string'] = "FIND_IN_SET( '{$userid}' ,joinpeople )";
     $map['stepType'] = 1;
     $starttime = strtotime($_REQUEST['starttime']);
     $endtime = strtotime($_REQUEST['endtime']);
     $map["createid"] = $_SESSION[C('USER_AUTH_KEY')];
     $map['createtime'] = array("exp", ">=" . $starttime . " and createtime <" . $endtime);
     $list = $model->where($map)->field('id,createtime')->select();
     $aaa = $arr = array();
     foreach ($list as $key => $value) {
         $daytime = date("Y-m-d", $value['createtime']);
         $daytime = strtotime($daytime);
         if (!in_array($daytime, $aaa)) {
             $start = transTime($value['createtime'], 'Y-m-d H:i:s');
             $end = transTime($value['createtime'] + 1, 'Y-m-d H:i:s');
             $arr[] = array('id' => $value['id'], 'title' => "", 'start' => $start, 'end' => $end, 'tdclassName' => 'pred');
             array_push($aaa, $daytime);
         }
     }
     echo json_encode($arr);
 }
 /**
  * @Title: lookupemployeeInfo
  * @Description: todo(AJAX 请求获得试用员工信息)
  * @author renling
  * @date 2013-7-31 下午4:23:25
  * @throws
  */
 public function lookupemployeeInfo()
 {
     $id = $_POST['id'];
     $MisHrBasicEmployeeModel = D('MisHrBasicEmployee');
     $MisHrBasicEmployeeList = $MisHrBasicEmployeeModel->where(" status=1 and id=" . $id)->find();
     //计算试用天数
     $pedate = $MisHrBasicEmployeeList['transferdate'] - $MisHrBasicEmployeeList['indate'];
     $pedate = round($pedate / 3600 / 24);
     //计算已经试用天数
     $date = time() - $MisHrBasicEmployeeList['indate'];
     $date = round($date / 3600 / 24);
     $this->assign("date", $date);
     //以下if判断为排除空null显示
     if ($MisHrBasicEmployeeList['phone']) {
         $voInfo['phone'] = $MisHrBasicEmployeeList['phone'];
     } else {
         $voInfo['phone'] = "";
     }
     if (getFieldBy($MisHrBasicEmployeeList['deptid'], 'id', 'name', 'mis_system_department')) {
         $voInfo['deptname'] = getFieldBy($MisHrBasicEmployeeList['deptid'], 'id', 'name', 'mis_system_department');
     } else {
         $voInfo['deptname'] = "";
     }
     if ($MisHrBasicEmployeeList['dutyname']) {
         $voInfo['dutyname'] = $MisHrBasicEmployeeList['dutyname'];
     } else {
         $voInfo['dutyname'] = "";
     }
     if (getFieldBy($MisHrBasicEmployeeList['dutylevelid'], 'id', 'name', 'duty')) {
         $voInfo['dutylevelid'] = getFieldBy($MisHrBasicEmployeeList['dutylevelid'], 'id', 'name', 'duty');
     } else {
         $voInfo['dutylevelid'] = "";
     }
     if (transTime($MisHrBasicEmployeeList['indate'])) {
         $voInfo['indate'] = transTime($MisHrBasicEmployeeList['indate']);
     } else {
         $voInfo['indate'] = "";
     }
     $voInfo['chinaid'] = $MisHrBasicEmployeeList['chinaid'];
     $voInfo['name'] = $MisHrBasicEmployeeList['name'];
     $voInfo['sex'] = $MisHrBasicEmployeeList['sex'];
     $voInfo['age'] = $MisHrBasicEmployeeList['age'];
     $voInfo['worktype'] = $MisHrBasicEmployeeList['worktype'];
     $voInfo['pedate'] = $pedate;
     $voInfo['date'] = $date;
     echo json_encode($voInfo);
 }
 private function getGttXml($id, $key, $type, &$str)
 {
     //获取该项目中的mis_system_flow_form数据
     $MisSystemFlowFomrDao = M("mis_system_flow_form");
     $submap['status'] = 1;
     $submap['category'] = $id;
     $sublist = $MisSystemFlowFomrDao->where($submap)->select();
     foreach ($sublist as $k => $v) {
         //获取是否还有下一级
         $where = array();
         $where['fid'] = $v['id'];
         $where['status'] = 1;
         $Summary = 0;
         $k = $k + 1;
         $a = str_replace(".", "-", $key);
         $ks = $a . "-" . $k;
         $keys = $key . "." . $k;
         $str .= '<Task>';
         $str .= '<UID>' . $ks . '</UID>';
         $str .= '<ID>' . $ks . '</ID>';
         $str .= '<Name>' . $v['name'] . '</Name>';
         $str .= '<CreateDate>' . transTime($val['createtime']) . '</CreateDate>';
         $str .= '<OutlineNumber>' . $keys . '</OutlineNumber>';
         $str .= '<Start>' . transTime($v['begintime'], 'Y-m-d H:i:s') . '</Start>';
         $str .= '<Finish>' . transTime($v['endtime'], 'Y-m-d H:i:s') . '</Finish>';
         $str .= '<Summary>' . $Summary . '</Summary>';
         $str .= '<PercentComplete>0</PercentComplete>';
         $str .= '</Task>';
     }
 }