| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- <?php
- class mode_dailyClassAction extends inputAction{
-
- public $months,$ztdt;
- protected function savebefore($table, $arr, $id, $addbo){
-
- $type = arrvalue($arr, 'type');
- $uid = arrvalue($arr, 'uid');
-
- $dt = arrvalue($arr, 'dt');
- if(isempt($dt))return '';
- $enddt = arrvalue($arr, 'enddt');
- $where = "id<>$id and `uid`=$uid and `type`='$type' and `dt`='$dt'";
- if(!isempt($enddt))$where.=' and `enddt`='.$enddt.'';
- if($type==0 && $dt>$this->date)return '日期['.$dt.']还是个未来呢';
- $to = $this->mdb->rows($where);
- if($to>0)return '该类型日期['.$dt.']段已申请了';
- }
-
-
- protected function saveafter($table, $arr, $id, $addbo){
-
- }
-
- public function getdtstrAjax()
- {
- $type = (int)$this->post('type');
- $dt = $this->post('dt');
- $dta = explode('-', $dt);
- $dtobj = c('date');
- $startdt= $dt;
- $enddt = '';
-
- if($type==1){
- $dtw = $dtobj->getweekarr($dt);
- $startdt= $dtw[0];
- $enddt = $dtw[6];
- }
- if($type==2){
- $startdt= ''.$dta[0].'-'.$dta[1].'-01';
- $enddt= $dtobj->getenddt($dt);
- }
- if($type==3){
- $startdt= ''.$dta[0].'-01-01';
- $enddt = ''.$dta[0].'-12-31';
- }
- $a = array($startdt, $enddt);
- $this->returnjson($a);
- }
-
-
- public function anxyfxbeforershow($table)
- {
- $dt1 = $this->post('dt1', date('Y-m'));
- $this->months = $dt1;
- $key = $this->post('key');
- $atype = $this->post('atype');
- $isdaily= $this->post('isdaily','1');
- $dbs = m('admin');
- $s = $dbs->monthuwhere($dt1,'a.');
- if($atype=='my'){
- $s = 'and a.`id`='.$this->adminid.'';
- }else{
- if($isdaily=='1')$s.=" and a.`isdaily`=$isdaily";
- $s.= m('admin')->getcompanywhere(5,'a.');
- }
- if($atype=='down'){
- $dids = $dbs->getdown($this->adminid, 1);
- if(isempt($dids))$dids='0';
- $s.= ' and a.`id` in('.$dids.')';
- }
-
- if(!isempt($key))$s.=" and (a.`name` like '%$key%' or a.`ranking` like '%$key%' or a.`deptname` like '%$key%')";
- $table = "`[Q]userinfo` a left join `[Q]dailyfx` b on a.id=b.uid and b.`month`='$dt1'";
-
- $fields = 'a.id,a.name,a.deptname,a.ranking,a.workdate,a.state,b.*';
- return array(
- 'where' =>$s,
- 'fields'=>$fields,
- 'order'=>'a.`id`',
- 'table'=> $table
- );
- }
-
- public function anxyfxaftershow($table, $rows)
- {
- $zta = m('flow:userinfo');
- $maxjg = c('date')->getmaxdt($this->months);
- //0未写,1已写,2请假,3休息日,4没入职或已离职,5不需要写日报,时间还没到
- foreach($rows as $k=>$rs){
- if($rs['state']==5)$rows[$k]['ishui']=1;
- $rows[$k]['state'] = $zta->getuserstate($rs['state']);
-
- for($i=1;$i<=$maxjg;$i++){
- $zt = arrvalue($rs,'day'.$i.'');
- $oi = ($i<10)?'0'.$i.'':$i;
- $dt = $this->months.'-'.$oi;
- $str = '';
- if($dt<$this->date){
- if($zt=='0')$str='×';
- if($zt=='1')$str='<font color=green>√</font>';
- if($zt=='2')$str='<font color=#888888>假</font>';
- if($zt=='6')$str='<font color=green>◇</font>';
- }
- $rows[$k]['day'.$i.''] = $str;
- }
- }
-
-
- return array(
- 'rows' => $rows,
- 'maxjg'=> $maxjg,
- 'week' => date('w', strtotime($this->months.'-01'))
- );
- }
-
- //日报统计分析
- public function dailyfxAjax()
- {
- $dt = $this->post('dt');
- $atype = $this->post('atype');
- $uid = ($atype=='my') ? $this->adminid : 0;
- m('flow:daily')->dailyanay($uid, $dt);
- }
-
- //昨天未写显示
- public function ztweixiedatabefore($table)
- {
- $dt = c('date')->adddate($this->rock->date, 'd', -1);
- $dt = $this->post('dt', $dt);
- $this->ztdt = $dt;
- $dta = explode('-', $dt);
- $month = substr($dt, 0,7);
- $d = (int)$dta[2];
- $where = m('admin')->getcompanywhere(5,'a.');
- return array(
- 'table' => '`[Q]dailyfx` b left join `[Q]userinfo` a on a.`id`=b.`uid`',
- 'where' => "and b.`month`='$month' and b.`day".$d."`=0 ".$where."",
- 'fields'=> 'b.totalw,b.totalx,b.totaly,a.name,a.deptname'
- );
- }
-
- public function ztweixiedataafter($table, $rows)
- {
- return array(
- 'ztdt' => $this->ztdt.',周'.c('date')->cnweek($this->ztdt).''
- );
- }
-
- //部门统计
- public function bmztweixiedatabefore($table)
- {
- $dt = c('date')->adddate($this->rock->date, 'd', -1);
- $dt = $this->post('dt', $dt);
- $this->ztdt = $dt;
- $dta = explode('-', $dt);
- $month = substr($dt, 0,7);
- $d = (int)$dta[2];
- $where = m('admin')->getcompanywhere(5,'a.');
- return array(
- 'table' => '`[Q]dailyfx` b left join `[Q]userinfo` a on a.`id`=b.`uid`',
- 'where' => "and b.`month`='$month' and b.`day".$d."`=0 $where",
- 'fields'=> 'count(1) as value,a.deptname as name',
- 'order' => '`value`',
- 'group' => 'a.deptname'
- );
- }
- public function bmztweixiedataafter($table, $rows)
- {
- return array(
- 'rows' => $rows
- );
- }
- }
-
|