getallworker($start, $pagesize); //var_dump($userinfo); return $worker_list; } /* * 20230214 * 按公司获取所有的项目的工人 */ public function getallworkerlistbycid($pagenum, $pagesize, $cid) { $start = ($pagenum - 1) * $pagesize; $workertable = new gworkermodel(); //先获取公司清单 /* $t_p=new pinfomodel(); $plist=$t_p->sellistbycid($cid); $strpinfo=''; foreach($plist as $pinfo){ $strpinfo=$strpinfo.$pinfo['id'].","; } if($strpinfo>''){ $lenstr=strlen($strpinfo); $strp=substr($strpinfo,0,-1); } */ $worker_list = $workertable->getallworkerbycid($start, $pagesize, $cid); //var_dump($userinfo); return $worker_list; } /* * 20200212 * steelxu * 获取指定项目的员工 */ public function getprjworkerlist($pagenum, $pagesize, $pid) { $start = ($pagenum - 1) * $pagesize; $workertable = new gworkermodel(); $worker_list = $workertable->getprjworker($start, $pagesize, $pid); //var_dump($userinfo); return $worker_list; } public function saveworker($worker) { $t_worker = new gworkermodel(); $datenow = date('Y-m-d '); $t_worker['create_date'] = $datenow; $newid = $t_worker->saveworkerinfo($worker); //如果重复,直接返回 if ($newid == -1) { return $newid; } //如果插入正常 if ($newid > 0) { $r_table = new pwrelationmodel(); $relation['pid'] = $worker['cprojectid']; $relation['wid'] = $newid; $relation['startdate'] = $datenow; $relation['checkstatus'] = 1; $rid = $r_table->savenewrelation($relation); } return $newid; } /* * 20200312 * 统计各项目当天记工人数,两天前起,指定天数内的出勤的工人数 * 先处理日期参数 * 获取所有项目,ID和项目名称 * 按项目获取出勤统计、分两次获取,一次是当天的,一次是前一阶段的 * 组装数据 */ public function getcheckcountbydate($arr) { $daycount = $arr['daycount']; $strdc = strval($daycount + 2); $strparam = '-' . $strdc . ' day'; $datenow = date('Y-m-d '); $dateend = date('Y-m-d', strtotime('-2 day')); $datestart = date('Y-m-d', strtotime($strparam)); //获取所有项目 $t_p = new pinfomodel(); $p_list = $t_p->getallpinfo(); $t_dc = new daycheckinfo(); foreach ($p_list as &$v) { $pid = $v['id']; //获取当天数据 $w_today = $t_dc->selcinfowithdate($datenow, $datenow, $pid); if ($w_today) { // var_dump($w_today); $v['todaycount'] = $w_today[0]['workernumber']; // echo 'ok
'; } else { $v['todaycount'] = 0; } //获取历史记录 $w_history = $t_dc->selcinfowithdate($datestart, $dateend, $pid); if ($w_history) { foreach ($w_history as $k) { $checkdate = strval($k['checkdate']); $v[$checkdate] = $k['workernumber']; } } } return $p_list; } /* * 20230214 * 统计本公司各项目的记工人数,两天前起(不可更改) */ public function getcheckcountbydatecompany($arr) { $daycount = $arr['daycount']; $cid = $arr['companyid']; $strdc = strval($daycount + 2); $strparam = '-' . $strdc . ' day'; $datenow = date('Y-m-d '); $dateend = date('Y-m-d', strtotime('-2 day')); $datestart = date('Y-m-d', strtotime($strparam)); //获取本公司项目 $t_p = new pinfomodel(); //$p_list=$t_p->getallpinfo(); $p_list = $t_p->sellistbycid($cid); $t_dc = new daycheckinfo(); foreach ($p_list as &$v) { $pid = $v['id']; //获取当天数据 $w_today = $t_dc->selcinfowithdate($datenow, $datenow, $pid); if ($w_today) { // var_dump($w_today); $v['todaycount'] = $w_today[0]['workernumber']; // echo 'ok
'; } else { $v['todaycount'] = 0; } //获取历史记录 $w_history = $t_dc->selcinfowithdate($datestart, $dateend, $pid); if ($w_history) { foreach ($w_history as $k) { $checkdate = strval($k['checkdate']); $v[$checkdate] = $k['workernumber']; } } } return $p_list; } /* * 20210303 * 获取待安排调出人员 */ public function getuntransworker($arr) { $t_trans = new transfermodel(); $page = isset($arr['page']) && !empty($arr['page']) && is_numeric($arr['page']) ? $arr['page'] : 1; $size = isset($arr['size']) && !empty($arr['size']) && is_numeric($arr['size']) ? $arr['size'] : 10; $wlist = $t_trans->selinfolistbyopr($page, $size); $data = [ "pageSize" => $size, "pageNum" => $page, 'list' => $wlist, ]; return $data; } /* * 20210303 * steelxu * 将用户由人才库,调入最终库 * 没有组长权限处理, *更改调动表数据 */ public function oprtransferlist($prjid, $worker_arr) { $newdate = date('Y-m-d '); $r_tale = new pwrelationmodel(); $w_table = new gworkermodel(); $t_trans = new transfermodel(); $icount = 0; //var_dump($worker_arr); foreach ($worker_arr as $k => $v) { //组织数据 $relation['pid'] = $prjid; $relation['wid'] = $v['wid']; $relation['startdate'] = $newdate; $relation['checkstatus'] = 1; $w_table->updateprj($prjid, $v['wid']); $rid = $r_tale->addnewrelation($relation); if ($rid > 0) { $icount++; } //处理调动表 $t_trans->updoprbywid($v['wid'], $prjid); } return $icount; } /* * 20210311 * 根据用户姓名获取 */ public function getworkerinfobyname($arr) { $wname = $arr['wname']; $t_work = new gworkermodel(); $rlist = $t_work->selinfobyname($wname); return $rlist; } /* * 20210416 * 过生日更新员工年齿 */ public function updatewaggbybirthday() { $birthday = date('md'); $t_w = new gworkermodel(); $wlist = $t_w->selworklistbybirthday($birthday); $year = (int) date('Y'); foreach ($wlist as $worker) { $byear = substr($worker['shengfengid'], 6, 4); $nage = $year - (int) $byear; $t_w->updwagebyid($worker['id'], $nage); } } /* * 20210427 * 修改工人停止 */ public function updateworkerinfobyid($arr) { $wid = $arr['id']; $updarr['telno'] = $arr['telno']; $updarr['workclass'] = $arr['workclass']; $updarr['dayprice'] = $arr['dayprice']; $updarr['wage'] = $arr['wage']; $t_work = new gworkermodel(); $winfo = $t_work->getinfobyid($wid); $rcount = $t_work->updinfobyid($wid, $updarr); if ($rcount > 0) { $m_dr = new daypricerecodemodel(); $insertarr = [ 'user_id' => $wid, 'old_dayprice' => $winfo['dayprice'], 'dayprice' => $arr['dayprice'], 'createtime' => date("Y-m-d H:i:s"), 'type' => 1, //修改用户信息 ]; $drid = $m_dr->insinfo($insertarr); } return $rcount; } /* * 20210502 * */ public function getlocationlist() { $t_ul = new userlocationmodel(); $list = $t_ul->sellist(); return $list; } /* * 20210430 * 存储地址 * 20210510 * 修改为先保存历史 * 当前表如果有,就 */ public function saveuserlocation($arr) { $t_ul = new userlocationmodel(); $openid = $arr['openid']; $arr['createdate'] = date('Y-m-d H:i:s'); $t_ulh = new userlocationhismodel(); $t_ulh->insinfo($arr); $rinfo = $t_ul->selinfobyopenid($openid); if (empty($rinfo)) { $rid = $t_ul->insinfo($arr); return $rid; } else { $rid = $rinfo['id']; $nid = $t_ul->updinfobyid($rid, $arr); return $nid; } } /* * 20210511 */ public function getlocationgroupprovince() { $t_ul = new userlocationmodel(); $tlist = $t_ul->selgroupby_p(); return $tlist; } /* * 20210511 */ public function getlocationgroupcity() { $t_ul = new userlocationmodel(); $tlist = $t_ul->selgroupby_c(); return $tlist; } /* * 20210515 * 获得项目的地址 */ public function getprjlocation() { $t_pl = new prjlocationmodel(); $t_p = new pinfomodel(); $plocationlist = $t_pl->sellist(); $plist = $t_p->getallpinfo(); foreach ($plist as $prj) { foreach ($plocationlist as &$prjlocation) { if ($prjlocation['prjid'] == $prj['id']) { $prjlocation['prjname'] = $prj['pname']; break; } } } return $plocationlist; } /* * 2030215 * 只获得自己公司的项目位置 */ public function getmyprjlocation($arr) { $cid = $arr['companyid']; $t_pl = new prjlocationmodel(); $t_p = new pinfomodel(); $plocationlist = $t_pl->sellist(); $plist = $t_p->sellistbycid($cid); $myplist = array(); foreach ($plist as $prj) { foreach ($plocationlist as &$prjlocation) { if ($prjlocation['prjid'] == $prj['id']) { $prjlocation['prjname'] = $prj['pname']; array_push($myplist, $prjlocation); break; } } } //return $plocationlist; return $myplist; } /* * 20210515 * 按项目统计人群 */ public function getworkerlocationcountgprj() { $t_ul = new userlocationmodel(); $pwlist = $t_ul->selgroupbyprj(); return $pwlist; } /* * 20230215 * 获取自己公司项目的统计人数 */ public function getworkerlocationcountgprjbycid($arr) { $cid = $arr['companyid']; $t_ul = new userlocationmodel(); $t_p = new pinfomodel(); $plist = $t_p->sellistbycid($cid); $pwlist = array(); foreach ($plist as $pinfo) { $pid = $pinfo['id']; $pwcount = $t_ul->selgroupcountbypid($pid); array_push($pwlist, $pwcount); } return $pwlist; } /* * 20210516 * 提交公告 */ public function savenewnotice($arr) { $arr['createdate'] = date('Y-m-d H:i:s'); $t_n = new noticemodel(); $id = $t_n->insinfo($arr); return $id; } /* * 20210517 * */ public function getallnotice() { $t_n = new noticemodel(); $rlist = $t_n->selalllist(); return $rlist; } /* * 20230215 */ public function getnoticebycid($arr) { $cid = $arr['companyid']; $t_n = new noticemodel(); $rlist = $t_n->sellistbycid($cid); return $rlist; } /* * 20210517 * 获得最新消息 */ public function getnewnotice($arr) { $t_n = new noticemodel(); $wid = $arr['wid']; $t_w = new gworkermodel(); $winfo = $t_w->getinfobyid($wid); $pid = $winfo['cprojectid']; $t_p = new pinfomodel(); $pinfo = $t_p->getbyid($pid); $cid = $pinfo['companyid']; $res_info = array(); if (!$cid) { return $res_info; } $rlist = $t_n->selnewmsgbycid($cid); $t_nr = new noticereadmodel(); $readinfo = $t_nr->selnewinfobywid($wid); if (!empty($rlist)) { if (empty($readinfo)) { $res_info = $rlist[0]; } else { if ($readinfo[0]['readnoticeid'] < $rlist[0]['id']) { $res_info = $rlist[0]; } } } return $res_info; } /* * 20210517 */ public function updatenoticereadstatus($arr) { $readinfo['wid'] = $arr['wid']; $update = true; if (array_key_exists('noticeid', $arr)) { $readinfo['readnoticeid'] = $arr['noticeid']; } else { $t_n = new noticemodel(); $rlist = $t_n->selnewmsg(); if (!empty($rlist)) { $readinfo['readnoticeid'] = $rlist[0]['id']; } else { $update = false; } } $readinfo['readtime'] = date("Y-m-d H:i:s"); if ($update) { $t_nr = new noticereadmodel(); $rid = $t_nr->insinfo($readinfo); } else { $rid = 0; } return $rid; } /* * 20210517 * */ public function getpaylistbyuplogid($arr) { $logid = $arr['logid']; $t_p = new paydetailmodel(); $list = $t_p->sellistbyuplogid($logid); return $list; } /* * 20230130 * 从水猫那里增加工人 */ public function savenewworkerfromwatercat($worker) { $t_worker = new gworkermodel(); $datenow = date('Y-m-d '); $worker['create_date'] = $datenow; $worker['cprojectid'] = 1; if (isset($arr['prjtelno']) || !empty($arr['prjtelno'])) { $worker['workclass'] = $arr['prjtelno']; } $newid = $t_worker->saveworkerinfo($worker); //如果重复,直接返回 if ($newid == -1) { return $newid; } //如果插入正常 //项目id设置为1 if ($newid > 0) { $r_table = new pwrelationmodel(); $relation['pid'] = $worker['cprojectid']; $relation['wid'] = $newid; $relation['startdate'] = $datenow; $relation['checkstatus'] = 1; $rid = $r_table->savenewrelation($relation); } return $newid; } /* * 20230126 */ public function getworkerinfobytel($arr) { $tel = $arr['tel']; $t_m = new gworkermodel(); $rec = $t_m->seluinfobytel($tel); $rworker = array(); if ($rec) { $rworker['wid'] = $rec['id']; $rworker['wage'] = $rec['wage']; $rworker['wname'] = $rec['wname']; $rworker['workclass'] = $rec['workclass']; } return $rworker; } /* * 20230131 */ public function addnewinvent($arr) { $t_i = new inventrecmodel(); $arr['inventdate'] = date('Y-m-d'); $rid = $t_i->insinfo($arr); return $rid; } /* * 20230131 */ public function getinventinfobywid($arr) { $t_i = new inventrecmodel(); $wid = $arr['wid']; $rec = $t_i->selinfobywid($wid); return $rec; } /* * 20230131 */ public function updateprjbyinvent($arr) { $newdate = date('Y-m-d '); $pid = $arr['pid']; $r_tale = new pwrelationmodel(); $w_table = new gworkermodel(); $i_table = new inventrecmodel(); //检验GPS $iinfo = $i_table->selinfobyid($arr['id']); $p_lng = $iinfo['prj_lng']; $p_lat = $iinfo['prj_lat']; $m_lat = $arr['my_lat']; $m_lng = $arr['my_lng']; if ((abs($p_lng - $m_lng) > 0.1) || (abs($p_lat - $m_lat) > 0.1)) { return 0; } $icount = 0; //var_dump($worker_arr); //组织数据 $relation['pid'] = $pid; $relation['wid'] = $arr['wid']; $relation['startdate'] = $newdate; $relation['checkstatus'] = 1; $w_table->updateprj($pid, $arr['wid']); $rid = $r_tale->addnewrelation($relation); //更新inventrec if ($rid > 0) { $i_table->updateacceptbyid($arr['id']); $icount++; } return $icount; } }