where('telno', $tel)->find(); if ($recordlist) { return $recordlist['id']; } else { return 0; } } //获取所有工人信息,并带项目名称 public function getallworker($start, $rlen) { $strsql = "select a.*,c.pname,c.is_worker "; $strsql = $strsql . "from t_workerinfo a left join t_p2wrelation b on a.id=b.wid and b.checkstatus=1 left join t_pinfo c on b.pid=c.id"; $strsql = $strsql . " limit " . $start . "," . $rlen; $workerlist = $this->query($strsql); return $workerlist; } /* * 20230214 * 获取一个企业的项目的所有工人 */ public function getallworkerbycid($start, $rlen, $cid) { $strsql = "select a.*,c.pname,c.is_worker,IFNULL(tab.quactive,0) qu_active,IFNULL(tab.quisanswer,0) qu_isanswer"; // $strsql = $strsql . "from t_workerinfo a left join t_p2wrelation b on a.id=b.wid and b.checkstatus=1 left join t_pinfo c on b.pid=c.id"; $strsql = $strsql . " from t_workerinfo a left join t_p2wrelation b on a.id=b.wid and b.checkstatus=1 left join t_pinfo c on b.pid=c.id left join (select id,user_id,is_active as quactive,is_answer as quisanswer from t_question_user where is_active=1) as tab on tab.user_id=a.id"; $strsql = $strsql . " where c.companyid=" . $cid; $strsql = $strsql . " order by a.dayprice,create_date desc"; $strsql = $strsql . " limit " . $start . "," . $rlen; $workerlist = $this->query($strsql); return $workerlist; } /** * * * @param [type] $start * @param [type] $rlen * @param [type] $cid * @return void * @author wj * @date 2025-02-17 */ public function getnotinprojectuserlist($start, $rlen) { $strsql = "select a.*,c.pname,c.is_worker "; $strsql = $strsql . "from t_workerinfo a left join t_p2wrelation b on a.id=b.wid and b.checkstatus=1 left join t_pinfo c on b.pid=c.id"; $strsql = $strsql . " where a.isactive=1 and a.cprojectid=3"; $strsql = $strsql . " order by a.dayprice,create_date desc"; $strsql = $strsql . " limit " . $start . "," . $rlen; $workerlist = $this->query($strsql); return $workerlist; } /* * steelxu * 20200212 * 获取指定项目员工 */ public function getprjworker($start, $rlen, $pid) { $strsql = "select * "; $strsql = $strsql . "from t_workerinfo "; $strsql = $strsql . " where cprojectid=" . $pid; $strsql = $strsql . " order by wname"; $strsql = $strsql . " limit " . $start . "," . $rlen; $workerlist = $this->query($strsql); return $workerlist; } /* * 20200303 * 预检查是否有索引字段重复 */ private function precheckindex($info) { $where_arr['telno'] = $info['telno']; $rec = $this->where($where_arr)->find(); if ($rec) { return false; } else { return true; } } /* * 20200303 * edit * 有索引表,增加预检 * */ public function saveworkerinfo($worker) { //预检 $ishave = $this->precheckindex($worker); Log::info($ishave); if (!$ishave) { return -1; } Log::info($worker); $sid = $this->allowField(true)->isUpdate(false)->setAttr('id', null)->save($worker); if ($sid == 1) { return $this->id; } else { return $sid; } } /* * 20200204 * steelxu * 更新工人的cprojectid, * 实现工人指量设置,换项目的功能 * */ public function updateprj($pid, $wid) { $where_arr['id'] = $wid; $update_arr['cprojectid'] = $pid; $res = $this->where($where_arr)->update($update_arr); return $res; } /* * steelxu * 20200211 * 根据工人ID获取信息 */ public function getinfobyid($wid) { $where_arr['id'] = $wid; $rec = $this->where($where_arr)->find(); return $rec; } /* * 20200325 * 获取所有工人的id和身份证 */ public function selshengfengzhenglist() { $strsql = "select id,shengfengid "; $strsql = $strsql . " from t_workerinfo"; $wlist = $this->query($strsql); return $wlist; } /* * 2030215 * 只返回公司的员工id和身份证 */ public function selcompanyshengfengzhenglist($cid) { $strsql = "select a.id,a.shengfengid "; $strsql = $strsql . " from t_workerinfo a left join t_pinfo b on a.cprojectid=b.id"; $strsql = $strsql . " where b.companyid=" . $cid; $wlist = $this->query($strsql); return $wlist; } /* * 20200417 * 根据电话获取用户信息 * */ public function seluinfobytel($tel) { $where_arr['telno'] = $tel; $rec = $this->where($where_arr)->find(); return $rec; } /* * 20200515 * 根据身份证获取数据 */ public function selinfobysfz($sfzid) { $where_arr['shengfengid'] = $sfzid; $rec = $this->where($where_arr)->find(); return $rec; } /* * 20210311 * 根据姓名获取数据 */ public function selinfobyname($name) { $strsql = "select * from t_workerinfo where wname like '%" . $name . "%' order by id,cprojectid"; $rlist = $this->query($strsql); $rlist = collection($rlist)->toArray(); return $rlist; } public function selinfobywhere($where, $page = 1, $size = 10) { $field = "w.*,IFNULL(tab.quactive,0) qu_active,IFNULL(tab.quisanswer,0) qu_isanswer"; $strsql = "select " . $field . " from t_workerinfo as w left join (select id,user_id,is_active as quactive,is_answer as quisanswer from t_question_user where id in ( select max(id) from t_question_user GROUP BY user_id ) ) as tab on tab.user_id=w.id"; $strsql = "select * from (" . $strsql . ") as tab1"; $usewhere = []; if (isset($where['wname']) && !empty($where['wname'])) { $name = $where['wname']; $usewhere[] = "wname like '%" . $name . "%'"; } if (isset($where['qu_active']) && in_array($where['qu_active'], [0, 1]) && "" != $where['qu_active']) { $qu_active = $where['qu_active']; $usewhere[] = "qu_active='" . $qu_active . "'"; } if (isset($where['qu_isanswer']) && in_array($where['qu_isanswer'], [0, 1]) && "" != $where['qu_isanswer']) { $qu_isanswer = $where['qu_isanswer']; $usewhere[] = "qu_isanswer='" . $qu_isanswer . "'"; $usewhere[] = "qu_active=0"; } if (!empty($usewhere)) { $where_str = implode(" and ", $usewhere); $strsql .= " where " . $where_str; } $ordre = "id,cprojectid"; $strsql .= " order by " . $ordre; $index = ($page - 1) * $size; $strsql .= " limit " . $index . "," . $size; $rlist = $this->query($strsql); $rlist = collection($rlist)->toArray(); return $rlist; } /* * 20210416 * 获取生日是今天的员工 */ public function selworklistbybirthday($birthday) { if ($birthday != '0301') { $strsql = "select * from t_workerinfo where SUBSTR(shengfengid FROM 11 FOR 4)='" . $birthday . "'"; } else { $strsql = "select * from t_workerinfo where SUBSTR(shengfengid FROM 11 FOR 4)='" . $birthday . "' or SUBSTR(shengfengid FROM 11 FOR 4)='0209'"; } $rlist = $this->query($strsql); $rlist = collection($rlist)->toArray(); return $rlist; } /* * 20210416 * 更新工人年龄 */ public function updwagebyid($id, $wage) { $where_arr['id'] = $id; $upd_arr['wage'] = $wage; $this->where($where_arr)->update($upd_arr); } /* * 20210427 * 更新工人信息(电话、工种) */ public function updinfobyid($id, $arr) { $where_arr['id'] = $id; $count = $this->where($where_arr)->update($arr); return $count; } /* * 20210725 * 获取每个工地的人数统计 */ public function selwcountbyprj() { $strsql = 'select cprojectid, count(*) as pwcount '; $strsql = $strsql . ' from t_workerinfo '; $strsql = $strsql . " where cprojectid>3"; $strsql = $strsql . " group by cprojectid"; $rlist = $this->query($strsql); $rlist = collection($rlist)->toArray(); return $rlist; } /* * 20210807 * 获取所有cprojectid>3的用户 */ public function selinfolistwithprjid() { $strsql = 'select * from t_workerinfo where cprojectid>3'; $rlist = $this->query($strsql); $rlist = collection($rlist)->toArray(); return $rlist; } }