chengkun
2025-05-26 4462855c0033970c39ac8d0da704b7dc41eabbfe
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
<?php
 
 
class crm_concern_controller extends adminCommon
{
 
    function index_action()
    {
        $crmM               =   $this -> MODEL('crm');
        $adminM             =   $this -> MODEL('admin');
        $where              =   array();
        $where['auid']      =   $_SESSION['auid'];
 
        if ($_GET['type'] && $_GET['keyword']){
 
            if ($_GET['type'] == '1'){
 
                $comM               =   $this->MODEL('company');
                $companyA           =   $comM->getList(array('name' => array('like', trim($_GET['keyword']))), array('field' => 'uid'));
 
                if (!empty($companyA['list']))
                {
 
                    $uids           =   array();
                    foreach ($companyA['list'] as $ck => $cv) {
                        $uids[]     =   $cv['uid'];
                    }
 
                    $where['uid']   =   array('in', pylode(',', $uids));
                }
 
            }elseif ($_GET['type'] == '2'){
 
                $where['content']   =   array('like', trim($_GET['keyword']));
            }
 
            $urlarr['type']         =   $_GET['type'];
            $urlarr['keyword']      =   $_GET['keyword'];
        }
 
        if ($_GET['day']) {
 
            unset($_GET['stime']);
            unset($_GET['etime']);
 
            $time           =   intval($_GET['day']);
 
            if ($time == 1) { //今天
 
                $startTime  =   mktime(0, 0, 0, date('m'), date('d'), date('y'));
                $endTime    =   time();
            } else if ($time == 2) {//昨天
 
                $startTime  =   mktime(0, 0, 0, date('m'), date('d'), date('Y')) - 86400;
                $endTime    =   mktime(23, 59, 59, date('m'), date('d'), date('Y')) - 86400;
            } else if ($time == 3) {//本周
 
                $startTime  =   strtotime(date('Y-m-d', strtotime("this week Monday", time())));
                $endTime    =   strtotime(date('Y-m-d', strtotime("this week Sunday", time()))) + 24 * 3600 - 1;
            } else if ($time == 4) {//本月
 
                $startTime  =   mktime(0, 0, 0, date('m'), 1, date('Y'));
                $endTime    =   mktime(23, 59, 59, date('m'), date('t'), date('Y'));
            }
            $where['PHPYUNBTWSTART_A_DOUBLE']   =   '';
            $where['ftime'][]   =   array('>', $startTime, 'AND');
            $where['ftime'][]   =   array('<', $endTime, 'AND');
            $where['PHPYUNBTWEND_A']            =   '';
 
            $where['PHPYUNBTWSTART_B']          =   'OR';
            $where['atime'][]   =   array('>', $startTime, 'AND');
            $where['atime'][]   =   array('<', $endTime, 'AND');
            $where['PHPYUNBTWEND_B_DOUBLE']     =   '';
 
            $urlarr['day'] = $time;
        }else if ($_GET['stime']) {
 
            unset($_GET['day']);
 
            $stime      =   explode('-', $_GET['stime']);
            $etime      =   explode('-', $_GET['etime']);
 
            $timeBegin  =   mktime(0, 0, 0, $stime[1], $stime[2], $stime[0]);
            $timeEnd    =   mktime(23, 59, 59, $etime[1], $etime[2], $etime[0]);
 
            $where['PHPYUNBTWSTART_A_DOUBLE']   =  '';
            $where['ftime'][]                   =   array('>=', $timeBegin, 'AND');
            $where['ftime'][]                   =   array('<=', $timeEnd, 'AND');
            $where['PHPYUNBTWEND_A']            =   '';
 
            $where['PHPYUNBTWSTART_B']          =   'OR';
            $where['atime'][]                   =   array('>', $timeBegin, 'AND');
            $where['atime'][]                   =   array('<', $timeEnd,'AND');
            $where['PHPYUNBTWEND_B_DOUBLE']     =  '';
 
            $urlarr['stime']    =   urlencode($_GET['stime']);
            $urlarr['etime']    =   urlencode($_GET['etime']);
        }
 
        if(!empty($_GET['linktype'])){
            $where['type']        =    $_GET['linktype'];
            $urlarr['linktype']    =    $_GET['linktype'];
        }
 
        $urlarr                =   $_GET;
        $urlarr['page']        =    '{{page}}';
        
        $pageurl            =    Url($_GET['m'], $urlarr, 'admin');
        $pageM              =    $this  -> MODEL('page');
        $pages              =    $pageM -> pageList('crmnew_concern', $where, $pageurl, $_GET['page']);
        
        if ($pages['total'] > 0) {
            if ($_GET['order']) {
                
                $where['orderby']   =   $_GET['t'].','.$_GET['order'];
                $urlarr['order']    =   $_GET['order'];
                $urlarr['t']        =   $_GET['t'];
            }else{
                
                $where['orderby']   =   'atime';
            }
            
            $where['limit']         =   $pages['limit'];
            $list                   =   $crmM -> getConcernList($where, array('utype' => 'crm'));
            $this -> yunset(array('rows' => $list, 'auid' => intval($_SESSION['auid'])));
        }
 
        $cacheM =   $this->MODEL('cache');
        $cache  =   $cacheM -> GetCache(array('crm'));
        $this -> yunset('cache', $cache);
 
        $power  =   $adminM -> getPower(array('uid'=>$_SESSION['auid']));
        $this->yunset('power', $power['power']);
 
        $this->yuntpl(array('admin/crm_concern'));
    }
 
    function depart_action()
    {
 
        $AdminM            =    $this -> MODEL('admin');
        $crmM           =   $this -> MODEL('crm');
        $cacheM         =   $this -> MODEL('cache');
        $adminUserInfo    =    $AdminM -> getAdminUser(array('uid' => $_SESSION['auid']),array('field'=>'org,power,spower'));
        
        if($adminUserInfo['org'] > 0){
            
            $orgInfo    =    $crmM -> getOrgInfo(array('id' => $adminUserInfo['org']));
            
            $oIds    =    $orgIds    =    $orgIdss    =    $orgIdsss    =    array();
             
            if ($adminUserInfo['power'] == '1'){    // 同级部门权限
                $oList                =    $crmM -> getOrgList(array('level' => $orgInfo['level']));
                
                foreach ($oList as $k => $v) {
                    $orgIds[]        =    $v['id'];
                }    
            }
            
            if ($adminUserInfo['power'] == '1'){    // 子部门权限
                if ($orgInfo['level'] == '1'){
                     
                    $orgList            =    $crmM -> getOrgList(array('fid' => $adminUserInfo['org']));
                    
                    foreach ($orgList as $ok => $ov) {
                        $orgIdss[]        =    $ov['id'];    
                    }
                    
                    $orgLists            =    $crmM -> getOrgList(array('fid' => array('in', pylode(',', $orgIdss))));
                    
                    foreach ($orgLists as $ook => $oov) {
                        $orgIdsss[]        =    $oov['id'];
                    }
                    
                }elseif ($orgInfo['level'] == '2'){
                     
                    $orgList            =    $crmM -> getOrgList(array('fid' => $adminUserInfo['org']));
                    foreach ($orgList as $ok => $ov) {
                        $orgIdss[]        =    $ov['id'];    
                    }
                    
                } 
            }
            $oIds            =    array_merge($orgIds, $orgIdss, $orgIdsss);
            
            $adminUserList    =    $AdminM -> getList(array('uid'=>array('<>',$_SESSION['auid']),'org'=>array('in', pylode(',', $oIds))),array('field'=>'`uid`,`name`,`username`'));
            foreach($adminUserList as $v){
                $uids[]        =    $v['uid'];
            }
            $this->yunset('adminUserList',$adminUserList);
        }
 
        if ($_GET['type'] && $_GET['keyword']){
 
            if ($_GET['type'] == '1'){
 
                $comM               =   $this->MODEL('company');
                $companyA           =   $comM->getList(array('name' => array('like', trim($_GET['keyword']))), array('field' => 'uid'));
 
                if (!empty($companyA['list']))
                {
 
                    $uidss          =   array();
                    foreach ($companyA['list'] as $ck => $cv) {
                        $uidss[]    =   $cv['uid'];
                    }
 
                    $where['uid']   =   array('in', pylode(',', $uidss));
                }
 
            }elseif ($_GET['type'] == '2'){
 
                $where['content']   =   array('like', trim($_GET['keyword']));
            }
 
            $urlarr['type']         =   $_GET['type'];
            $urlarr['keyword']      =   $_GET['keyword'];
        }
 
        if ($_GET['day']) {
 
            unset($_GET['stime']);
            unset($_GET['etime']);
 
            $time       =   intval($_GET['day']);
            if ($time == 1) { //今天
 
                $startTime  =   mktime(0, 0, 0, date('m'), date('d'), date('y'));
                $endTime    =   time();
            } else if ($time == 2) {//昨天
 
                $startTime  =   mktime(0, 0, 0, date('m'), date('d'), date('Y')) - 86400;
                $endTime    =   mktime(23, 59, 59, date('m'), date('d'), date('Y')) - 86400;
            } else if ($time == 3) {//本周
 
                $startTime  =   strtotime(date('Y-m-d', strtotime("this week Monday", time())));
                $endTime    =   strtotime(date('Y-m-d', strtotime("this week Sunday", time()))) + 24 * 3600 - 1;
            } else if ($time == 4) {//本月
 
                $startTime  =   mktime(0, 0, 0, date('m'), 1, date('Y'));
                $endTime    =   mktime(23, 59, 59, date('m'), date('t'), date('Y'));
            }
            $where['PHPYUNBTWSTART_A_DOUBLE'] = '';
            $where['ftime'][]   =   array('>', $startTime, 'AND');
            $where['ftime'][]   =   array('<', $endTime, 'AND');
            $where['PHPYUNBTWEND_A'] = '';
            $where['PHPYUNBTWSTART_B'] = 'OR';
            $where['atime'][]   =   array('>', $startTime, 'AND');
            $where['atime'][]   =   array('<', $endTime, 'AND');
            $where['PHPYUNBTWEND_B_DOUBLE'] = '';
 
            $urlarr['day']  =   $time;
        }else if ($_GET['stime']) {
 
            unset($_GET['day']);
 
            $stime      =   explode('-', $_GET['stime']);
            $etime      =   explode('-', $_GET['etime']);
 
            $timeBegin  =   mktime(0, 0, 0, $stime[1], $stime[2], $stime[0]);
            $timeEnd    =   mktime(23, 59, 59, $etime[1], $etime[2], $etime[0]);
 
            $where['PHPYUNBTWSTART_A_DOUBLE']   =  '';
            $where['ftime'][]                   =   array('>=', $timeBegin, 'AND');
            $where['ftime'][]                   =   array('<=', $timeEnd, 'AND');
            $where['PHPYUNBTWEND_A']            =   '';
 
            $where['PHPYUNBTWSTART_B']          =   'OR';
            $where['atime'][]                   =   array('>', $timeBegin, 'AND');
            $where['atime'][]                   =   array('<', $timeEnd,'AND');
            $where['PHPYUNBTWEND_B_DOUBLE']     =  '';
 
            $urlarr['stime']    =   urlencode($_GET['stime']);
            $urlarr['etime']    =   urlencode($_GET['etime']);
        }
        if(!empty($_GET['linktype'])){
            $where['type']        =    $_GET['linktype'];
            $urlarr['linktype']    =    $_GET['linktype'];
        }
        if(!empty($_GET['crmmanager'])) {
            $where['auid']            =    $_GET['crmmanager'];
            $urlarr['crmmanager']    =   $_GET['crmmanager'];
        }else{
            $where['auid']    =    array('in',pylode(',',$uids));
        }
 
        $urlarr                =   $_GET;
        $urlarr['page']        =    '{{page}}';    
        $pageurl            =    Url('crm_concern&c=depart', $urlarr, 'admin');    
        $pageM              =    $this  -> MODEL('page');      
        $pages              =    $pageM -> pageList('crmnew_concern', $where, $pageurl, $_GET['page']);  
        if ($pages['total'] > 0) {   
            if ($_GET['order']) {
 
                $where['orderby']   =   $_GET['t'].','.$_GET['order'];
                $urlarr['order']    =   $_GET['order'];
                $urlarr['t']        =   $_GET['t'];    
            }else{ 
                $where['orderby']   =   'atime';
            }
            $where['limit']         =   $pages['limit'];
            $list                   =   $crmM -> getConcernList($where, array('utype' => 'crm')); 
            $this -> yunset('rows',$list);
            
        }
        $cache  =   $cacheM -> GetCache(array('crm'));
        $this -> yunset('cache', $cache);
        $this -> yuntpl(array('admin/crm_concern_depart'));
    }
    
    function show_action()
    {
        $id     =   intval($_POST['id']);
        
        if (!empty($id)) {
            
            $cacheM    =   $this->MODEL('cache');
             
            $cache     =   $cacheM -> GetCache(array('crm'));
             
            
            $crmM   =   $this -> MODEL('crm');
            
            $cInfo  =   $crmM -> getConcernInfo(array('id' => $id));
            
            if ($cInfo) {
                
                $cInfo['time']      =   date('Y-m-d H:i:s', $cInfo['time']);
                $cInfo['atime']     =   date('Y-m-d H:i:s', $cInfo['atime']);
                
                $cInfo['uptime']    =   $cInfo['uptime']? date('Y-m-d H:i:s', $cInfo['uptime']) : '';
                
                $cInfo['type']      =   $cache['crmclass_name'][$cInfo['type']];
                $cInfo['status']    =   $cache['crmclass_name'][$cInfo['status']];
                
                $comM   =   $this -> MODEL('company');
                $com    =   $comM -> getInfo($cInfo['comid'], array('field'=>'`name`,`crm_status`'));
                
                $cInfo['name']      =   $com['name'];
                
                $cInfo['c_status']  =   $cache['crmclass_name'][$com['crm_status']];
                
            }
            
            echo json_encode($cInfo);die;
            
        }
      
    }
 
    function del_action(){
    
        $this    ->    check_token();
        
        $crmM    =    $this -> Model('crm');
        
        $delID    =    $_GET['id'] ? intval($_GET['id']) : $_GET['del'];
        
        $err    =    $crmM -> delConcern($delID, array('auid' => $_SESSION['auid']));
        
        $this   ->  layer_msg( $err['msg'],$err['errcode'],$err['layertype'],$_SERVER['HTTP_REFERER'],2,1);
 
    }
}
 
?>