Subversion Repositories wimsdev

Rev

Rev 17070 | Rev 17098 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 17070 Rev 17097
Line 1... Line 1...
1
!! -------- check user
1
!! -------- check user
2
user=$wims_user
2
user=$wims_user
3
 
-
 
4
test=!fileexists wimshome/log/classes/$wims_class/swork
3
test=!fileexists wimshome/log/classes/$wims_class/swork
5
!sh mkdir -p $wims_home/log/classes/$wims_class/swork
4
!sh mkdir -p $wims_home/log/classes/$wims_class/swork
6
clsfile=wimshome/log/classes/$wims_class/swork/averagescore
5
clsfile=wimshome/log/classes/$wims_class/swork/averagescore
7
Clsfile=$wims_home/log/classes/$wims_class/swork/averagescore
6
Clsfile=$wims_home/log/classes/$wims_class/swork/averagescore
8
ufile=wimshome/log/classes/$wims_class/swork/averagescore.$user
7
ufile=wimshome/log/classes/$wims_class/swork/averagescore.$user
9
Ufile=$wims_home/log/classes/$wims_class/swork/averagescore.$user
8
Ufile=$wims_home/log/classes/$wims_class/swork/averagescore.$user
10
sev=!record 0 of wimshome/log/classes/$wims_class/sheets/.severity
-
 
11
time1=!record 0 of $ufile
9
time1=!record 0 of $ufile
-
 
10
time1=!line 1 of $time1
12
!distribute word $time1 into time1,majdate,bl
11
!distribute word $time1 into time1,majdate,bl
13
!default time1=0
12
!default time1=0
14
!if $[$wims_nowseconds-$time1]<3600
13
!if $[$wims_nowseconds-$time1]<3600*$swork_refreshtiming or ($swork_allowrefresh=1 and $refresh!=1)
15
  !exit
14
  !exit
16
!endif
15
!endif
17
time2=!record 0 of $clsfile
16
time2=!record 0 of $clsfile
18
time2=!word 1 of $time2
17
time2=!word 1 of $time2
19
!default time2=0
18
!default time2=0
Line 31... Line 30...
31
!writefile $ufile $wims_nowseconds $wims_now 100000
30
!writefile $ufile $wims_nowseconds $wims_now 100000
32
majdate=$wims_now
31
majdate=$wims_now
33
nbsheet=!recordcnt wimshome/log/classes/$wims_class/sheets/.sheets
32
nbsheet=!recordcnt wimshome/log/classes/$wims_class/sheets/.sheets
34
nbuser=!recordcnt wimshome/log/classes/$wims_class/.userlist
33
nbuser=!recordcnt wimshome/log/classes/$wims_class/.userlist
35
!for sh=1 to $nbsheet
34
!for sh=1 to $nbsheet
36
  dtsh=!record $k of wimshome/log/classes/$wims_class/sheets/.sheets
35
  dtsh=!record $sh of wimshome/log/classes/$wims_class/sheets/.sheets
37
  stat=!line 1 of $dtsh
36
  stat=!line 1 of $dtsh
38
  !if $stat!=0
37
  !if $stat!=0
39
    nbexo=!recordcnt wimshome/log/classes/$wims_class/sheets/.sheet$sh
38
    nbexo=!recordcnt wimshome/log/classes/$wims_class/sheets/.sheet$sh
40
    average=!values 0 for v=1 to $nbexo
39
    average=!values 0 for v=1 to $nbexo
41
    max=$average
40
    max=$average
42
    lsev=!line $[$sh+1] of $sev
41
    lsev=!line $[$sh+1] of $severity
43
    !distribute word $lsev into swei,rule,indic
42
    !distribute word $lsev into swei,rule,indic
44
    formula=!record 0 of adm/class/sheetformula
-
 
45
    formula=!item $rule of $formula
43
    formula=!item $rule of $formulas
46
    wei=!getscoreweight user=$user sheet=$sh
44
    wei=!getscoreweight user=$user sheet=$sh
47
    wei=!words2items $wei
45
    wei=!words2items $wei
48
    totwei=!replace internal , by + in $wei
46
    totwei=!replace internal , by + in $wei
49
    totwei=$[$totwei]
47
    totwei=$[$totwei]
50
    !reset useraverage
48
    !reset useraverage
51
    !for dtu in $userlist
49
    !for dtu in $userlist
52
      lq=!getscorequality user=$dtu sheet=$sh
50
      lq=!getscoremean user=$dtu sheet=$sh
53
      !if $indic=0
51
      !if $indic=0
54
        li=!getscore user=$dtu sheet=$sh
52
        li=!getscore user=$dtu sheet=$sh
55
      !else
53
      !else
56
        !if $indic=1
54
        !if $indic=1
57
          li=!getscoremean user=$dtu sheet=$sh
55
          li=!getscorebest user=$dtu sheet=$sh
58
        !else
56
        !else
59
          li=!getscorelevel user=$dtu sheet=$sh
57
          li=!getscorelevel user=$dtu sheet=$sh
60
        !endif
58
        !endif
61
      !endif
59
      !endif
62
      !!calcul du score pour chaque exo
60
      !!calcul du score pour chaque exo
63
      !reset lave lmax
61
      !reset lave lmax
64
      !for k=1 to $nbexo
62
      !for k=1 to $nbexo
65
        ewei=!word $k of $wei
63
        ewei=!word $k of $wei
66
        elq=!word $k of $lq
64
        elq=!word $k of $lq
67
        eli=!word $k of $li
65
        eli=!word $k of $li
68
        ave=!replace internal I by $eli in $formula
66
        ave=!replace internal I by $[$eli/10] in $formula
69
        ave=!replace internal Q by $elq in $ave
67
        ave=!replace internal Q by $[$elq/10] in $ave
-
 
68
        ave=$[rint($ave*1000)]
70
        !if $dtu=$user
69
        !if $dtu=$user
71
          useraverage=!append item $ave to $useraverage
70
          useraverage=!append item $ave to $useraverage
72
        !endif
71
        !endif
73
        lmax=!append item $[max($ave,$(max[$k]))] to $lmax
72
        lmax=!append item $[max($ave,$(max[$k]))] to $lmax
74
        ave=$[$(ave)+$(average[$k])]
73
        ave=$[$(ave)+$(average[$k])]
Line 81... Line 80...
81
    !if $time2!=yes
80
    !if $time2!=yes
82
      tmp=!record $sh of $clsfile
81
      tmp=!record $sh of $clsfile
83
    !endif
82
    !endif
84
    !for k=1 to $nbexo
83
    !for k=1 to $nbexo
85
      !if $time2=yes
84
      !if $time2=yes
86
        ave=$[rint(100*$(average[$k])/$nbuser)]
85
        ave=$[rint($(average[$k])/$nbuser)]
87
        m=$[rint($(max[$k])*100)]
86
        m=$[rint($(max[$k]))]
88
        tmp=!append line $sh $k $ave $m to $tmp
87
        tmp=!append line $sh $k $ave $m to $tmp
89
      !else
88
      !else
90
        ave=!line $k of $tmp
89
        ave=!line $k of $tmp
91
        m=!word 4 of $ave
90
        m=!word 4 of $ave
92
        ave=!word 3 of $ave
91
        ave=!word 3 of $ave
93
        
-
 
94
      !endif
92
      !endif
95
      !if $(wei[$k])!=0 and $swei!=0
93
      !if $(wei[$k])!=0 and $swei!=0
96
        val=$[rint($ave - 100*$(useraverage[$k]))]
94
        val=$[rint($ave - $(useraverage[$k]))]
-
 
95
        val=$[rint($val * $swei * $(wei[$k])/$totwei )]   
97
        !if $val<-200
96
        !if $val<=0
98
          val=-1000
97
          val=-1000
99
        !endif
98
        !endif
100
        val=$[rint($val * $swei * $(wei[$k])/$totwei )]   
-
 
101
      !else
99
      !else
102
        !if $swei!=0
100
        !if $swei!=0
103
          val=$[-10000*$swei]
101
          val=$[-10000*$swei]
104
        !else
102
        !else
105
          val=-10000
103
          val=-10000
106
        !endif
104
        !endif
107
      !endif
105
      !endif
108
      m=$[rint($m-100*$(useraverage[$k]))]
106
      m2=$[rint($m-$(useraverage[$k]))]
109
      !appendfile $ufile :$sh $k $val $m
107
      !appendfile $ufile :$sh $k $val $m2 $ave $m
110
    !next k
108
    !next k
111
    !if $time2=yes
109
    !if $time2=yes
112
      !appendfile $clsfile :$tmp
110
      !appendfile $clsfile :$tmp
113
    !endif
111
    !endif
114
  !else
112
  !else