knowtraimModel.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?php
  2. /**
  3. * 考试培训
  4. */
  5. class flow_knowtraimClassModel extends flowModel
  6. {
  7. public $statearr;
  8. public function initModel()
  9. {
  10. $this->statearr = explode(',','<font color=#ff6600>还未开始</font>,<font color=green>进行中</font>,<font color=#888888>已结束</font>');
  11. }
  12. public function getstatestr($zt)
  13. {
  14. return arrvalue($this->statearr, $zt);
  15. }
  16. protected function flowsubmit($na, $sm)
  17. {
  18. if($this->rs['status']==1)$this->sendtodo();
  19. }
  20. //审核完成后发通知
  21. protected function flowcheckfinsh($zt)
  22. {
  23. if($zt==1)$this->sendtodo();
  24. }
  25. //发通知给对应人员
  26. public function sendtodo()
  27. {
  28. $rows = m('knowtrais')->getall('mid='.$this->id.' and `isks`=0','uid');
  29. $ids = '';
  30. foreach($rows as $k=>$rs)$ids.=','.$rs['uid'].'';
  31. if($ids=='')return;
  32. $ids = substr($ids, 1);
  33. $cont = ''.$this->adminname.'发布培训考试,主题:{title},时间{startdt}至{enddt}。';
  34. $this->push($ids,'', $cont);
  35. }
  36. public function flowisreadqx()
  37. {
  38. $to = m('knowtrais')->rows('`mid`='.$this->id.' and `uid`='.$this->adminid.'');
  39. return $to>0;
  40. }
  41. public function flowrsreplace($rs,$lx=0)
  42. {
  43. $zt = $rs['state'];
  44. $rs['state'] = $this->getstatestr($zt);
  45. if($lx==1 && $zt==1){
  46. //我当前状态
  47. $ors = m('knowtrais')->getone('`mid`='.$rs['id'].' and `uid`='.$this->adminid.'');
  48. if($ors){
  49. if($ors['isks']=='0'){
  50. $rs['state'] .= '&nbsp;<a class="zhu" href="index.php?m=hr&a=kaoshi&d=main&id='.$this->id.'">去考试</a>';
  51. }else{
  52. $rs['state'] .= '&nbsp;&nbsp;已考试分数:'.$ors['fenshu'].'';
  53. }
  54. }
  55. }
  56. return $rs;
  57. }
  58. //更新题库状态
  59. public function reloadstate($id='')
  60. {
  61. $where = '1=1';
  62. if($id!='')$where='id in('.$id.')';
  63. $rows = $this->getall($where);
  64. $now = $this->rock->now;
  65. foreach($rows as $k=>$rs){
  66. $zt = 0;
  67. if($rs['enddt']<$now){
  68. $zt = 2;
  69. }else if($rs['startdt']<$now){
  70. $zt = 1;
  71. }
  72. if($zt!=$rs['state'])$this->update('`state`='.$zt.'', $rs['id']);
  73. }
  74. $rows = $this->db->getall('SELECT mid,count(1)stotal FROM `[q]knowtrais` where isks=1 GROUP BY mid');
  75. foreach($rows as $k=>$rs)$this->update('`ydshu`='.$rs['stotal'].'', $rs['mid']);
  76. }
  77. protected function flowbillwhere($uid, $lx)
  78. {
  79. $this->reloadstate();
  80. }
  81. //每天通知未考试培训人员
  82. public function todaytodo()
  83. {
  84. }
  85. //选取选择题库的条件
  86. public function gettikuwhere($tiid, $dwid=0)
  87. {
  88. $str1 = '';
  89. if($dwid==0)$dwid = $this->adminmodel->getcompanyid();
  90. if(ISMORECOM)$str1 = " and `comid`=".$dwid."";
  91. if(isempt($tiid))return $str1;
  92. $sid = '';
  93. $tarr = explode(',', $tiid);
  94. $dbs = m('option');
  95. foreach($tarr as $sid1){
  96. $ssid = $dbs->getalldownid($sid1);
  97. $sid.=','.$ssid.'';
  98. }
  99. if($sid!=''){
  100. $sid = substr($sid, 1);
  101. return ' and `typeid` in('.$sid.')';
  102. }else{
  103. return $str1;
  104. }
  105. }
  106. //删除单据时调用
  107. protected function flowdeletebill($sm)
  108. {
  109. m('knowtrais')->delete("`mid`='".$this->id."'");
  110. }
  111. }
粤ICP备19079148号