Skip to content

Commit 7508fff

Browse files
committed
add baan condition and fix bug of unequal group
1 parent 503bd03 commit 7508fff

File tree

2 files changed

+23
-7
lines changed

2 files changed

+23
-7
lines changed

src/lib/utils/sheetService.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,13 @@ export function loadResult(workbook: WorkBook) {
6161
status: workbook.Sheets[sheetNameData][`H${i}`].v,
6262
id: i - 1
6363
});
64-
for (let j = 2, startAlpha = 66; ; j++, startAlpha++) {
64+
for (let j = 2, startAlpha = 66; ; j++, startAlpha++) {
6565
const alpha = String.fromCharCode(startAlpha);
6666
if (!workbook.Sheets[sheetName][`${alpha}${i}`]) break;
67+
6768
if (i == 2) DAY++;
69+
if (workbook.Sheets[sheetName][`${alpha}${i}`].v === 0) continue;
70+
6871
TOTAL_GROUP = Math.max(TOTAL_GROUP, Number(workbook.Sheets[sheetName][`${alpha}${i}`].v));
6972
}
7073
}
@@ -83,6 +86,9 @@ export function loadResult(workbook: WorkBook) {
8386
for (let j = 0; j < DAY; j++) {
8487
const alpha = String.fromCharCode(66 + j);
8588
groupOfMembers[i][j] = workbook.Sheets[sheetName][`${alpha}${i + 2}`].v;
89+
90+
if (workbook.Sheets[sheetName][`${alpha}${i + 2}`].v === 0) continue;
91+
8692
groups[j][groupOfMembers[i][j] - 1].push(members[i]);
8793
}
8894
}

src/routes/result/+page.svelte

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
}
3030
3131
function getErrorTripleThings(day: number, group: number) {
32-
let cntSection = 0, cntMale = 0, cntStatus = 0, cntSuksa = 0;
32+
let cntSection = 0, cntMale = 0, cntStatus = 0, cntSuksa = 0, cntBaan = 0;
3333
for (let i = 0; i < $groups_store[day][group].length; i++) {
3434
if ($groups_store[day][group][i].section === "ศึกษา") {
3535
cntSuksa++;
@@ -44,12 +44,16 @@
4444
if ($groups_store[day][group][i].gender === "ชาย" && $groups_store[day][group][j].gender === "ชาย") {
4545
cntMale++;
4646
}
47+
if ($groups_store[day][group][i].baan === $groups_store[day][group][j].baan) {
48+
cntBaan++;
49+
}
4750
}
4851
}
4952
if (cntMale >= 3) return "A";
5053
if (cntStatus >= 6) return "B";
51-
if (cntSection >= 3) return "C";
52-
if (cntSuksa >= 2) return "D";
54+
if (cntBaan >= 3) return "C";
55+
if (cntSection >= 3) return "D";
56+
if (cntSuksa >= 2) return "E";
5357
return "";
5458
}
5559
@@ -111,6 +115,12 @@
111115
}
112116
}
113117
118+
if (groupOfFirstMember === -1) {
119+
return {groups: [], groupOfMembers: [], error: "Member 1 is not in any group"};
120+
}
121+
if (groupOfSecondMember === -1) {
122+
return {groups: [], groupOfMembers: [], error: "Member 2 is not in any group"};
123+
}
114124
if (groupOfFirstMember === groupOfSecondMember) {
115125
return {groups: [], groupOfMembers: [], error: "Members are in the same group"};
116126
}
@@ -205,15 +215,15 @@
205215
{:else}
206216
<div class={`grid grid-cols-${col.toString()} gap-4 mx-12`}>
207217
{#each currentPageRows as group, i}
208-
<div class={`${getErrorTripleThings(page, i) === "A" ? "bg-red-800" : getErrorTripleThings(page, i) === "B" ? "bg-red-600" : getErrorTripleThings(page, i) === "C" ? "bg-red-400" : getErrorTripleThings(page, i) === "D" ? "bg-purple-700" : "bg-orange-400"} ${getErrorTripleThings(page, i) !== "" ? "hover:bg-red-950" : "hover:bg-orange-primary-darken"} text-white-secondary transition-all py-2 px-4 rounded-xl m-2`}>
218+
<div class={`bg-orange-400 ${getErrorTripleThings(page, i) !== "" ? "hover:bg-red-950" : "hover:bg-orange-primary-darken"} text-white-secondary transition-all py-2 px-4 rounded-xl m-2`}>
209219
<h3 class="text-lg font-bold mb-2 flex justify-center text-white">Group : {i + 1}</h3>
210220
{#each group as member}
211-
<li class={`${member.name === firstMember || member.name === secondMember ? "bg-orange-600 text-white" : hasForbiddenPairs(page, i, member) ? "bg-red-500 text-white " : "text-orange-primary bg-white"} hover:bg-orange-200 border-2 border-orange-primary transition-all rounded-md py-1 pl-2`}>
221+
<p class={`${member.name === firstMember || member.name === secondMember ? "bg-orange-600 text-white" : hasForbiddenPairs(page, i, member) && false ? "bg-red-500 text-white " : "text-orange-primary bg-white"} text-center font-bold hover:bg-orange-200 border-2 border-orange-primary transition-all rounded-md py-1`}>
212222
{member.name}
213223
{#if showDetail}
214224
#{member.year} {member.faculty}
215225
{/if}
216-
</li>
226+
</p>
217227
{/each}
218228
</div>
219229
{/each}

0 commit comments

Comments
 (0)