123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- <?php
- /**
- * Created by PhpStorm.
- * User: sicilon_IT
- * Date: 2021/10/7
- * Time: 23:43
- */
- namespace app\index\logic;
- use app\index\model\groupmodel;
- use app\index\model\groupusermodel;
- use app\index\model\userinfomodel;
- use app\index\model\workermodel;
- use think\Log;
- class grouplogic
- {
- /*
- * 20211007
- * steelxu
- *
- */
- public function savenewgroup($arr)
- {
- $arr['createdate'] = date('Y-m-d H:i:s');
- $t_g = new groupmodel();
- $rid = $t_g->insinfo($arr);
- return $rid;
- }
- /***
- * 根据id获取信息
- *20211011
- * wj
- */
- public function getinfobyid($arr)
- {
- if (!isset($arr['id'])) {
- return backarr(0, "请求错误");
- }
- $t_g = new groupmodel();
- $where = [
- "id" => $arr['id'],
- ];
- $info = $t_g->getinfo($where);
- if (empty($info)) {
- return backarr(0, "无数据");
- }
- return backarr(1, "查询成功", $info);
- }
- /***
- * 获取用户信息和附加信息
- * count_user 组总人数
- * wj 20211023
- * eidt by steelxu
- * edit in 20211031
- * 获取创建人信息
- */
- public function getinfoallbyid($arr)
- {
- if (!isset($arr['id'])) {
- return backarr(0, "请求错误");
- }
- $m_g = new groupmodel();
- $m_gu = new groupusermodel();
- $where = [
- "id" => $arr['id'],
- ];
- $info = $m_g->getinfo($where);
- if (empty($info)) {
- return backarr(0, "无班组信息");
- }
- $id = $info['id'];
- //创建人信息
- $cuid=$info['createuid'];
- $t_u=new userinfomodel();
- $cuinfo=$t_u->selconinfobyid($cuid);
- $info['coninfo']=$cuinfo;
- //加总人数
- $guwhere = [
- 'groupid' => $id,
- ];
- $countUser = $m_gu->getList($guwhere, 'count');
- $info['count_user'] = $countUser;
- return backarr(1, "查询成功", $info);
- }
- /***
- * 获取我创建的班组列表
- * 20211012
- * wj
- */
- public function getlistbyuserid($arr)
- {
- $m_g = new groupmodel();
- if (!isset($arr['userid'])) {
- return backarr(0, "请求错误");
- }
- $userid = $arr['userid'];
- $where = ['createuid' => $userid];
- $page = isset($arr['page']) && !empty($arr['page']) ? $arr['page'] : 1;
- $size = isset($arr['size']) && !empty($arr['size']) ? $arr['size'] : 10;
- $count = $m_g->getList($where, 'count');
- if ($count <= 0) {
- return backarr(0, "无数据");
- }
- $list = $m_g->getList($where, 'id', $page, $size);
- foreach ($list as $key => &$value) {
- $result = $this->getinfoallbyid(['id' => $value['id']]);
- $list[$key] = $result['data'];
- }
- return backarr(1, "查询成功", $list);
- }
- /***
- * 获取我参与的班组列表
- * 20211012
- * wj
- */
- public function getpartinlistbyuserid($arr)
- {
- $m_g = new groupmodel();
- if (!isset($arr['userid'])) {
- return backarr(0, "请求错误");
- }
- $userid = $arr['userid'];
- $where = ['gu.userid' => $userid];
- $page = isset($arr['page']) && !empty($arr['page']) ? $arr['page'] : 1;
- $size = isset($arr['size']) && !empty($arr['size']) ? $arr['size'] : 10;
- $count = $m_g->getpartinlist($where, 'count');
- if ($count <= 0) {
- return backarr(0, "无数据");
- }
- $list = $m_g->getpartinlist($where, 'g.*,gu.createdate as partindate', $page, $size);
- foreach ($list as $key => &$value) {
- $result = $this->getinfoallbyid(['id' => $value['id']]);
- $list[$key] = $result['data'];
- }
- return backarr(1, "查询成功", $list);
- }
- /***
- * 参与班组 通过userid
- * 20211012
- * wj
- */
- public function partingroupbyuserid($arr)
- {
- $m_g = new groupmodel();
- $m_gu = new groupusermodel();
- if (!isset($arr['groupid']) || empty($arr['groupid'])) {
- return backarr(0, "请求错误");
- }
- if (!isset($arr['userid']) || empty($arr['userid'])) {
- return backarr(0, "请求错误");
- }
- $where = [
- 'groupid' => $arr['groupid'],
- 'userid' => $arr['userid'],
- ];
- $info = $m_gu->getinfo($where);
- if (!empty($info)) {
- if (1 === $info['isactive']) {
- return backarr(0, "用户已参与班组");
- }
- $guid = $info['id'];
- $updateData = [
- 'isactive' => 1,
- ];
- $row = $m_gu->updateinfo(['id' => $guid], $updateData);
- if (empty($row)) {
- return backarr(0, "操作失败");
- }
- } else {
- $arr['createdate'] = date('Y-m-d H:i:s');
- $guid = $m_gu->insinfo($arr);
- if (empty($guid)) {
- return backarr(0, "添加失败");
- }
- }
- return backarr(1, "添加成功", ['id' => $guid]);
- }
- /***
- * 退出班组 通过userid
- * 20211025
- * wj
- */
- public function quitgroupbyuserid($arr)
- {
- $m_g = new groupmodel();
- $m_gu = new groupusermodel();
- if (!isset($arr['groupid']) || empty($arr['groupid'])) {
- return backarr(0, "请求错误");
- }
- if (!isset($arr['userid']) || empty($arr['userid'])) {
- return backarr(0, "请求错误");
- }
- $where = [
- 'groupid' => $arr['groupid'],
- 'userid' => $arr['userid'],
- ];
- $info = $m_gu->getinfo($where);
- if (empty($info)) {
- return backarr(0, "无用户与班组关系");
- }
- if (1 !== $info['isactive']) {
- return backarr(0, "用户未参与班组");
- }
- $guid = $info['id'];
- $updateData = [
- 'isactive' => 0,
- ];
- $row = $m_gu->updateinfo(['id' => $guid], $updateData);
- if (empty($row)) {
- return backarr(0, "操作失败");
- }
- log::info("groupid[" . $arr['groupid'] . '],userid[' . $arr['userid'] . '],退出班组' . date('Y-m-d H:i:s'));
- return backarr(1, "操作成功", ['id' => $guid]);
- }
- /***
- * 获取参与组的用户列表 通过组id
- * 20211023
- * wj
- */
- public function getlistgroupuserbyid($arr)
- {
- if (!isset($arr['id'])) {
- return backarr(0, "请求错误");
- }
- $m_g = new groupmodel();
- $m_gu = new groupusermodel();
- $m_w = new workermodel();
- $m_u = new userinfomodel();
- $where = [
- "id" => $arr['id'],
- ];
- $info = $m_g->getinfo($where);
- if (empty($info)) {
- return backarr(0, "无班组信息");
- }
- $id = $info['id'];
- //加总人数
- $guwhere = [
- 'groupid' => $id,
- ];
- $page = isset($arr['page']) && !empty($arr['page']) ? $arr['page'] : 1;
- $size = isset($arr['size']) && !empty($arr['size']) ? $arr['size'] : 10;
- $list = $m_gu->getList($guwhere, '*', $page, $size);
- if (empty($list)) {
- return backarr(0, "无数据");
- }
- //工种 年龄 性别 名字 头像
- $userfields = ['id', 'wname', 'gender', 'wage', 'photourl'];
- $workerfields = ['worktype'];
- foreach ($list as $key => &$value) {
- $uid = $value['userid'];
- $userinfo = ['id' => $uid];
- $uinfo = $m_u->getinfo(['id' => $uid], $userfields);
- if (empty($uinfo)) {
- $value = $userinfo;
- continue;
- }
- $winfo = $m_w->getInfo(['userid' => $uid], $workerfields);
- $list[$key] = array_merge($userinfo, $uinfo->toArray(), $winfo->toArray());
- }
- return backarr(1, "查询成功", $list);
- }
- }
|