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 |
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 |
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 |
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 |
|
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 |
|
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( |
85 | ave=$[rint($(average[$k])/$nbuser)] |
87 | m=$[rint($(max[$k]) |
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 - |
94 | val=$[rint($ave - $(useraverage[$k]))] |
- | 95 | val=$[rint($val * $swei * $(wei[$k])/$totwei )] |
|
97 | !if $val< |
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 |
|
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 |