insertData($arr); if (empty($vid)) { return backarr(0, '创建失败'); } //保存日志 $s_w = new Webuserserver(); $logData = [ 'node' => '到访记录', 'type' => 1, ]; $s_w->savelog($userinfo['id'], $logData); return backarr(1, '创建成功', ['vid' => $vid]); } public function getlist($arr) { $userinfo = checkToken(); $wherefield = ['name', 'telno', 'name_center']; $where = []; foreach ($wherefield as $key => $value) { if (isset($arr[$value]) && !empty($arr[$value])) { $where[$value] = $arr[$value]; } } $wherefield2 = ['is_member', 'business_type']; foreach ($wherefield2 as $key => $value) { if (isset($arr[$value]) && is_numeric($arr[$value])) { $where[$value] = $arr[$value]; } } if (isset($arr['createtime'])) { if (is_array($arr['createtime']) && !empty(array_filter($arr['createtime'])) && $arr['createtime'] = array_filter($arr['createtime'])) { $where['createtime'] = $arr['createtime']; } } $page = isset($arr['page']) && is_numeric($arr['page']) && !empty($arr['page']) && $arr['page'] > 0 ? $arr['page'] : 1; $size = isset($arr['size']) && is_numeric($arr['size']) && !empty($arr['size']) && $arr['size'] > 0 ? $arr['size'] : 10; $m_v = new VisitModel(); $count = $m_v->getListjoinmealcenter($where, 'count'); if ($count <= 0) { return backarr(0, "无数据"); } $totalpage = ceil($count / $size); $page > $totalpage && $page = $totalpage; $list = $m_v->getListjoinmealcenter($where, "*", $page, $size)->toArray(); $m_vbt = new VisitBusinessTypeModel(); $tylist = $m_vbt->getList([], "*", 1, 0, "id asc"); if (!empty($tylist)) { $tylist = $tylist->toArray(); $tylist = array_combine(array_column($tylist, "id"), array_column($tylist, "name")); } else { $tylist = []; } foreach ($list as $key => $value) { if (!empty($tylist) && isset($tylist[$value['business_type']])) { $business = $tylist[$value['business_type']]; } else { $business = ''; } $value['business'] = $business; $list[$key] = $value; } $data = [ 'page' => $page, 'size' => $size, 'count' => $count, 'list' => $list, ]; return backarr(1, "查询成功", $data); } /** * 获取业务类型 * * @return void * @author wj * @date 2023-01-18 */ public function getbusinesstyoelist() { $m_vbt = new VisitBusinessTypeModel(); $where = []; $list = $m_vbt->getList($where, "*", 1, 0, "id asc"); return backarr(1, 'success', $list); } /** * 验证导出条件 * * @return void * @author wj * @date 2023-01-29 */ public function checkexportlist($arr) { $userinfo = checkToken(); $wherefield = ['name', 'telno']; $where = []; foreach ($wherefield as $key => $value) { if (isset($arr[$value]) && !empty($arr[$value])) { $where[] = [$value, 'like', '%' . $arr[$value] . '%']; } } $wherefield2 = ['is_member', 'business_type']; foreach ($wherefield2 as $key => $value) { if (isset($arr[$value]) && is_numeric($arr[$value])) { $where[] = [$value, '=', $arr[$value]]; } } if (isset($arr['createtime'])) { if (is_array($arr['createtime']) && !empty(array_filter($arr['createtime'])) && $arr['createtime'] = array_filter($arr['createtime'])) { $where[] = ['createtime', 'between', $arr['createtime']]; } } //$page = isset($arr['page']) && is_numeric($arr['page']) && !empty($arr['page']) && $arr['page'] > 0 ? $arr['page'] : 1; //$size = isset($arr['size']) && is_numeric($arr['size']) && !empty($arr['size']) && $arr['size'] > 0 ? $arr['size'] : 10; $m_v = new VisitModel(); $count = $m_v->getList($where, 'count'); if ($count <= 0) { return backarr(0, "无数据"); } /*if (session('?visitlistwhere', '', 'export')) { session('visitlistwhere', null, 'export'); } session('visitlistwhere', $where, 'export');*/ $redis = new Redis(); $redis->delete('visitlistwhere'); $wherejson = json_encode($where); $redis->set('visitlistwhere', $wherejson); return backarr(1, "查询成功"); } /** * 执行导出 * * @return void * @author wj * @date 2023-01-29 */ public function doexportlist() { $redis = new Redis(); $wherejson = $redis->get('visitlistwhere'); $where = json_decode($wherejson, true); $redis->delete('visitlistwhere'); $m_v = new VisitModel(); $count = $m_v->getList($where, 'count'); $size = 100; $totalpage = ceil($count / $size); $exportdata = []; $exporttitle = []; $indexChar = 65; $indexNum = 2; $m_vbt = new VisitBusinessTypeModel(); $tylist = $m_vbt->getList([], "*", 1, 0, "id asc"); if (!empty($tylist)) { $tylist = $tylist->toArray(); $tylist = array_combine(array_column($tylist, "id"), array_column($tylist, "name")); } else { $tylist = []; } for ($page = 1; $page <= $totalpage; $page++) { $list = $m_v->getList($where, "*", $page, $size)->toArray(); foreach ($list as $key => $value) { if (!empty($tylist) && isset($tylist[$value['business_type']])) { $business = $tylist[$value['business_type']]; } else { $business = ''; } $value['business'] = $business; if (1 == $value['is_member']) { $value['is_member'] = '是'; } else { $value['is_member'] = '否'; } $item = [ 'id' => $value['id'], 'name' => $value['name'], 'age' => $value['age'], 'gender' => $value['gender'], 'address' => $value['address'], 'telno' => $value['telno'] . " ", 'is_member' => $value['is_member'], 'business' => $value['business'], 'remark' => $value['remark'], 'createtime' => $value['createtime'], ]; $itemuse = []; foreach ($item as $ikey => $ivalue) { $itemuse[] = [ 'cell' => chr($indexChar) . $indexNum, 'value' => $ivalue, ]; $indexChar++; } $indexChar = 65; $indexNum++; $exportdata[] = $itemuse; } } $exporttitle = [ ['cell' => 'A1', 'value' => 'ID'], ['cell' => 'B1', 'value' => '姓名'], ['cell' => 'C1', 'value' => '年龄'], ['cell' => 'D1', 'value' => '性别'], ['cell' => 'E1', 'value' => '地址'], ['cell' => 'F1', 'value' => '手机号'], ['cell' => 'G1', 'value' => '是否会员'], ['cell' => 'H1', 'value' => '到访事由'], ['cell' => 'I1', 'value' => '备注'], ['cell' => 'J1', 'value' => '到访时间'], ]; $style = [ 'A' => ['width' => 5], 'B' => ['width' => 10], 'C' => ['width' => 5], 'D' => ['width' => 5], 'E' => ['width' => 20], 'F' => ['width' => 20], 'G' => ['width' => 10], 'H' => ['width' => 10], 'I' => ['width' => 30], 'J' => ['width' => 10], ]; $s_pes = new PhpExcelServer(); $s_pes->getsheetobj($exportdata, $exporttitle, $style); $filename = "visitlist_" . date('YmdHis') . '.xlsx'; $s_pes->exportsheet($filename); return backarr(1, "操作成功"); } }