| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <?php
- namespace app\api\controller;
- use app\common\controller\Api;
- use \think\Request;
- use \think\Db;
- /**
- * 员工资料接口
- */
- class Staff extends Api
- {
- protected $noNeedLogin = ['*'];
- protected $noNeedRight = ['*'];
- /**
- * 首页
- *
- */
- public function index()
- {
- $this->success('请求成功');
- }
- /**
- * 获取员工列表信息
- *
- * @ApiMethod (GET)
- * @param string department_code
- * @param string mes_online
- * @param string u8_online
- * @param string limit
- * @param string page
- *
- */
- public function getStaffList(){
- if (Request::instance()->isGet() == false){
- $this->error('非法请求');
- }
- $params = Request::instance()->param();
- $where = [];
- if (!empty($params['department_code'])){
- $where['部门编码'] = $params['department_code'];
- }
- $where['在职状态'] = '在职';
- if (isset($params['mes_online'])){
- $where['在职状态'] = $params['mes_online'] > 1 ? '离职':'在职';
- }
- $where['U8在职'] = '在职';
- if (isset($params['u8_online'])){
- $where['U8在职'] = $params['u8_online'] > 1 ? '离职':'在职';
- }
- $limit = $params['limit'];
- if (empty($limit)){
- $limit = 15;
- }
- $pages = $params['page'];
- if (empty($pages)){
- $pages = 1;
- }
- $field = '员工编号,rtrim(员工姓名) as 员工姓名,性别,聘用日期,转正日期,rtrim(所在部门) as 所在部门,rtrim(职称职务) as 职称职务,rtrim(身份证号) as 身份证号,出生日期,
- rtrim(人员性质) as 人员性质,rtrim(人员类别) as 人员类别,班次类型,工资表类别,薪酬核算分组,rtrim(在职状态) as 在职状态,rtrim(U8在职) as U8在职,U8离职日期,rtrim(sys_id) as sys_id,sys_rq,mod_rq';
- $list = Db::name('人事_基本资料')->where($where)->field($field)->page($pages)->limit($limit)->order('UniqID asc')->select();
- $total = Db::name('人事_基本资料')->where($where)->count();
- $data['list'] = $list;
- $data['total'] = $total;
- $this->success('请求成功',$data);
- }
- /**
- * 获取部门列表
- *
- * @ApiMethod (GET)
- *
- */
- public function getDepartment(){
- if (Request::instance()->isGet() == false){
- $this->error('非法请求');
- }
- $sql = "select rtrim(编号) as 编号,rtrim(名称) as 名称 from 人事_组织结构 where 状态 = '' ";
- $list = Db::query($sql);
- $data = [];
- foreach ($list as $key => $value){
- $number = $value['编号'];
- if (strlen($number) == 1 ){//一级菜单
- $sql = "select count(*) as total from 人事_基本资料 where SUBSTRING(部门编码,1,1)='{$number}' and 在职状态 = '在职' and U8在职 = '在职'";
- $res = Db::query($sql);
- $value['num'] = $res[0]['total'];
- $list[$key] = $value;
- $data[$number] = $value;
- }else { //二级菜单
- $sql = "select count(*) as total from 人事_基本资料 where 部门编码='{$number}' and 在职状态 = '在职' and U8在职 = '在职'";
- $res = Db::query($sql);
- $value['num'] = $res[0]['total'];
- $list[$key] = $value;
- }
- }
- foreach ($data as $k=>$v){
- $i = 0;
- $data[$k]['children'] = [];
- foreach ($list as $item){
- $num = $item['编号'];
- if (strlen($num) >= 3 && substr($num,0,1) == $k){
- if ($item['num'] > 0){
- $data[$k]['children'][$i] = $item;
- $i++;
- }
- }
- }
- }
- $data = array_values($data);
- $this->success('请求成功',$data);
- }
- }
|