DownAllFileController.class.php
3.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
/**
* 【调研中心-后台】24_下载问题的所有附件
* DownAllFileController.class.php
* CreateBy:dj
* Date:2017-06-19
*/
namespace Apicp\Controller\Export;
use Common\Common\ExportDownload;
use Common\Service\BaseinfoService;
use Common\Service\QuestionService;
use Common\Service\RecordService;
class DownAllFileController extends \Apicp\Controller\AbstractController
{
// 免登录
protected $_require_login = false;
public function Index()
{
// 问题id
$q_id = I('post.q_id', '0', 'intval');
// 参数验证
if (empty($q_id)) {
E('_EMPTY_QUESTION_ID');
}
// 调研回答信息表
$question_s = new QuestionService();
// 获取问题信息
$data = $question_s->get($q_id);
if (empty($data)) {
E('_EMPTY_QUESTION_DATA');
}
// 调研基本信息表
$base_s = new BaseinfoService();
// 获取调研基本信息
$base_info = $base_s->get($data['qu_id']);
// 调研填写信息表
$record_s = new RecordService();
// 调研填写记录详情列表
$record_list = $record_s->list_by_where($q_id);
// 获取该试题的回答记录
$result_data = $question_s->format_other_list($record_list, $page = 1, count($record_list),
$base_info['anonymous']);
if (empty($result_data)) {
E('_EMPTY_QUESTION_ANSWER');
}
$pic_list = [];
// 循环数据,格式化图片地址
foreach ($result_data as $v) {
$pic_data = [];
$answer_option_data = [];
if (!empty($v['answer_content'])) {
// 反序列化答案数据
$answer_option_data = unserialize($v['answer_content']);
}
// 此处需要处理答案中包含的图片的显示路径
foreach ($answer_option_data as $_v) {
if (!empty($_v['option_img'])) {
$pic_arr = [];
$pic_arr['imgUrl'] = imgUrl($_v['option_img']);
$pic_data[] = $pic_arr;
}
}
// 处理部门信息
if (empty($v['user_dp'])) {
$key = $v['user_name'];
} else {
$key = $v['user_name'] . '(' . $v['user_dp'] . ')';
}
$pic_list[$key] = $pic_data;
}
if (empty($pic_list)) {
E('_EMPTY_QUESTION_ANSWER');
}
// 生成文件名
$title = $base_info['title'].'_问题附件_'.date('YmdHis', time());
$params_down = [
'title' => $title,
'ea_id' => $this->_login->user['eaId'],
'username' => $this->_login->user['eaRealname'],
'type' => ExportDownload::ZIP_TYPE
];
// 新增开始生成状态
$id = ExportDownload::set_down_load($params_down);
$params = [
'user_id' => $this->_login->user['eaId'],
'time' => microtime(true),
'q_id'=>$q_id,
'id' => $id,
'title' => $title
];
$url = oaUrl('Frontend/Callback/DownAllFile');
// 生成定时任务
ExportDownload::set_Cron($params, $url, '打包下载图片', 'Exam_GIF_Pdf_' . $id);
return true;
}
}