123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- <?php
- namespace app\common\model;
- use app\hander\HelpHander;
- use think\Db;
- use think\Exception;
- use think\Model;
- class UserBase extends Model
- {
- public function add(){
- $data = [
- 'user_id' => input('uid/d',0),
- 'qynj' => input('qynj/f',0),
- 'gjj' => input('gjj/f',0),
- 'sb' => input('sb/f',0),
- 'syyl' => input('syyl/f',0),
- 'gssy' => input('gssy/f',0),
- 'ylnj' => input('ylnj/f',0),
- ];
- $result = validate('UserBase')->check($data,[],'');
- if(true !== $result){
- HelpHander::error(validate('UserBase')->getError());
- }
- $ubase = Db::name('user_base')->where('user_id',$data['user_id'])->find();
- if($ubase){ // 修改
- $data['update_time'] = date('Y-m-d H:i:s');
- $res = Db::name('user_base')->where('id',$ubase['id'])->update($data);
- } else {// 新增
- $data['create_time'] = date('Y-m-d H:i:s');
- $data['update_time'] = date('Y-m-d H:i:s');
- $res = Db::name('user_base')->insert($data);
- }
- if(!$res){
- HelpHander::error('操作失败');
- }
- return true;
- }
- public function info($id){
- $info = $this->where('id',$id)->find();
- if(!$info){
- HelpHander::error('数据不存在');
- }
- $data = $info->toArray();
- $data['userName'] = Db::name('user_info')->where('user_id',$info['user_id'])->value('name');
- return $data;
- }
- public function lists($page,$size,$name,$phone,$companyId,$orgId){
- if($name != ''){
- $map[] = ['ui.name','like','%'.$name.'%'];
- }
- if($phone != ''){
- $map[] = ['u.phone','like','%'.$phone.'%'];
- }
- if($companyId > 0){
- $map[] = ['ui.company_id','=',$companyId];
- }
- $uids = model('User')->getAdminUsers();
- if($uids){
- $map[] = ['u.id','not in',$uids];
- }
- $map[] = ['u.del','=',0];
- $map[] = ['r.type','=',3];
- $map[] = ['r.org_id','=',$orgId];
- $lists = Db::name('user_info')
- ->alias('ui')
- ->join('user u','ui.user_id = u.id')
- ->join('user_roles ur','ur.user_id = u.id')
- ->join('roles r','ur.roles_id = r.id')
- ->join('user_base ub','ub.user_id = u.id','left')
- ->where($map)
- ->field('ub.*,u.phone,ui.name,ui.gender,ui.user_id as uid')
- ->page($page,$size)
- ->order('u.id desc')
- ->select();
- $lists = $lists?$lists:[];
- /*$lists = Db::name('user_base')
- ->alias('ur')
- ->join('user u','u.id = ur.user_id')
- ->join('user_info ui','ui.user_id = ur.user_id')
- ->where($map)
- ->field('ur.*,u.phone,ui.name,ui.gender')
- ->page($page,$size)
- ->order('id desc')
- ->select();
- $bls = Db::name('user_bl')->select();
- foreach ($lists as $k=>$v){
- $lists[$k]['company'] = Db::name('company')->where('id',$v['company_id'])->value('title');
- $lists[$k]['gjjp'] = $lists[$k]['gjjc'] = 0;
- $lists[$k]['qynjp'] = $lists[$k]['qynjc'] = 0;
- $lists[$k]['sbylap'] = $lists[$k]['sbylac'] = 0;
- $lists[$k]['sbsyep'] = $lists[$k]['sbsyep'] = 0;
- $lists[$k]['sbylip'] = $lists[$k]['sbylic'] = 0;
- $lists[$k]['sbgsc'] = $lists[$k]['sbsyuc'] = 0;
- $sbhj = $gjjhj = $qynjhj = 0;
- // 计算各项扣除
- foreach ($bls as $key=>$val){
- if($val['company_id'] == $v['company_id']){
- switch ($val['name']){
- case 'gjj':
- $lists[$k]['gjjp'] = calculate_money($v['gjj'],$val['p_bl'],$val['p_bl_type'],$val['p_bl_extra'],$val['p_free_bl']);
- $lists[$k]['gjjc'] = calculate_money($v['gjj'],$val['c_bl'],$val['c_bl_type'],$val['c_bl_extra'],$val['c_free_bl']);
- $gjjhj = round($lists[$k]['gjjp'] + $lists[$k]['gjjc'],2);
- break;
- case 'qynj':
- if($val['company_id'] == 1){
- $lists[$k]['qynjp'] = calculate_money($v['ylnj'],$val['p_bl'],$val['p_bl_type'],$val['p_bl_extra'],$val['p_free_bl']);
- $lists[$k]['qynjc'] = calculate_money($v['ylnj'],$val['c_bl'],$val['c_bl_type'],$val['c_bl_extra'],$val['c_free_bl']);
- } else {
- $lists[$k]['qynjp'] = calculate_money($v['qynj'],$val['p_bl'],$val['p_bl_type'],$val['p_bl_extra'],$val['p_free_bl']);
- $lists[$k]['qynjc'] = calculate_money($v['qynj'],$val['c_bl'],$val['c_bl_type'],$val['c_bl_extra'],$val['c_free_bl']);
- }
- $qynjhj = round($lists[$k]['qynjp'] + $lists[$k]['qynjc'],2);
- break;
- case 'yla':
- if($val['company_id'] == 1){
- $lists[$k]['sbylap'] = calculate_money($v['ylnj'],$val['p_bl'],$val['p_bl_type'],$val['p_bl_extra'],$val['p_free_bl']);
- $lists[$k]['sbylac'] = calculate_money($v['ylnj'],$val['c_bl'],$val['c_bl_type'],$val['c_bl_extra'],$val['c_free_bl']);
- } else {
- $lists[$k]['sbylap'] = calculate_money($v['sb'],$val['p_bl'],$val['p_bl_type'],$val['p_bl_extra'],$val['p_free_bl']);
- $lists[$k]['sbylac'] = calculate_money($v['sb'],$val['c_bl'],$val['c_bl_type'],$val['c_bl_extra'],$val['c_free_bl']);
- }
- $sbhj += $lists[$k]['sbylap'];
- $sbhj += $lists[$k]['sbylac'];
- break;
- case 'sye':
- if($val['company_id'] == 1){
- $lists[$k]['sbsyep'] = calculate_money($v['gssy'],$val['p_bl'],$val['p_bl_type'],$val['p_bl_extra'],$val['p_free_bl']);
- $lists[$k]['sbsyec'] = calculate_money($v['gssy'],$val['c_bl'],$val['c_bl_type'],$val['c_bl_extra'],$val['c_free_bl']);
- } else {
- $lists[$k]['sbsyep'] = calculate_money($v['sb'],$val['p_bl'],$val['p_bl_type'],$val['p_bl_extra'],$val['p_free_bl']);
- $lists[$k]['sbsyec'] = calculate_money($v['sb'],$val['c_bl'],$val['c_bl_type'],$val['c_bl_extra'],$val['c_free_bl']);
- }
- $sbhj += $lists[$k]['sbsyep'];
- $sbhj += $lists[$k]['sbsyec'];
- break;
- case 'yli':
- if($val['company_id'] == 1){
- $lists[$k]['sbylip'] = calculate_money($v['syyl'],$val['p_bl'],$val['p_bl_type'],$val['p_bl_extra'],$val['p_free_bl']);
- $lists[$k]['sbylic'] = calculate_money($v['syyl'],$val['c_bl'],$val['c_bl_type'],$val['c_bl_extra'],$val['c_free_bl']);
- } else {
- $lists[$k]['sbylip'] = calculate_money($v['sb'],$val['p_bl'],$val['p_bl_type'],$val['p_bl_extra'],$val['p_free_bl']);
- $lists[$k]['sbylic'] = calculate_money($v['sb'],$val['c_bl'],$val['c_bl_type'],$val['c_bl_extra'],$val['c_free_bl']);
- }
- $sbhj += $lists[$k]['sbylip'];
- $sbhj += $lists[$k]['sbylic'];
- break;
- case 'gs':
- if($val['company_id'] == 1){
- $lists[$k]['sbgsc'] = calculate_money($v['gssy'],$val['c_bl'],$val['c_bl_type'],$val['c_bl_extra'],$val['c_free_bl']);
- } else {
- $lists[$k]['sbgsc'] = calculate_money($v['sb'],$val['c_bl'],$val['c_bl_type'],$val['c_bl_extra'],$val['c_free_bl']);
- }
- $sbhj += $lists[$k]['sbgsc'];
- break;
- case 'syu':
- if($val['company_id'] == 1){
- $lists[$k]['sbsyuc'] = calculate_money($v['gssy'],$val['c_bl'],$val['c_bl_type'],$val['c_bl_extra'],$val['c_free_bl']);
- } else {
- $lists[$k]['sbsyuc'] = calculate_money($v['sb'],$val['c_bl'],$val['c_bl_type'],$val['c_bl_extra'],$val['c_free_bl']);
- }
- $sbhj += $lists[$k]['sbsyuc'];
- break;
- }
- }
- }
- $lists[$k]['sbhj'] = round($sbhj,2);
- $lists[$k]['gjjhj'] = round($sbhj,2);
- $lists[$k]['qynjhj'] = round($qynjhj,2);
- }*/
- $total = Db::name('user_info')
- ->alias('ui')
- ->join('user u','ui.user_id = u.id')
- ->join('user_roles ur','ur.user_id = u.id')
- ->join('roles r','ur.roles_id = r.id')
- ->join('user_base ub','ub.user_id = u.id','left')
- ->where($map)->count();
- $data = [
- 'total' => $total,
- 'list' => $lists?$lists:[]
- ];
- return $data;
- }
- public function del($id){
- $ret = $this->where('id',$id)->delete();
- if(!$ret){
- HelpHander::error('删除失败');
- }
- return true;
- }
- }
|