From 079a7d2b59b4582976674948327952c508399a80 Mon Sep 17 00:00:00 2001 From: amel Date: Thu, 26 Sep 2024 11:53:02 +0800 Subject: [PATCH] fix: tugas dan home divisi deskripsi: - klo tugas sudah batal ga usah di tampilin - order by tahapan tugas - push router ketika selesai edit tahapan tugas No Issues --- src/app/api/division/[id]/detail/route.ts | 7 +++++- src/app/api/task/[id]/route.ts | 30 ++++++++++++++++++++++- src/module/task/ui/edit_detail_task.tsx | 3 +++ 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/src/app/api/division/[id]/detail/route.ts b/src/app/api/division/[id]/detail/route.ts index af4fd71..d04084a 100644 --- a/src/app/api/division/[id]/detail/route.ts +++ b/src/app/api/division/[id]/detail/route.ts @@ -86,7 +86,12 @@ export async function GET(request: Request, context: { params: { id: string } }) idDivision: String(id), status: 0, isActive: true, - dateStart: new Date() + dateStart: new Date(), + DivisionProject: { + status: { + lt: 3 + } + } }, select: { id: true, diff --git a/src/app/api/task/[id]/route.ts b/src/app/api/task/[id]/route.ts index f1b19b3..6f3da5d 100644 --- a/src/app/api/task/[id]/route.ts +++ b/src/app/api/task/[id]/route.ts @@ -75,7 +75,7 @@ export async function GET(request: Request, context: { params: { id: string } }) dateEnd: true, }, orderBy: { - status: 'desc' + createdAt: 'asc' } }) @@ -201,6 +201,34 @@ export async function POST(request: Request, context: { params: { id: string } } } }); + // const cek progress + const dataTask = await prisma.divisionProjectTask.findMany({ + where: { + isActive: true, + idProject: id + } + }) + + const semua = dataTask.length + const selesai = _.filter(dataTask, { status: 1 }).length + const progress = Math.ceil((selesai / semua) * 100) + let statusProject = 1 + + if (progress == 100) { + statusProject = 2 + } else if (progress == 0) { + statusProject = 0 + } + + const updProject = await prisma.divisionProject.update({ + where: { + id: id + }, + data: { + status: statusProject + } + }) + // create log user const log = await createLogUser({ act: 'CREATE', desc: 'User menambahkan detail tugas divisi', table: 'divisionProjectTask', data: create.id }) diff --git a/src/module/task/ui/edit_detail_task.tsx b/src/module/task/ui/edit_detail_task.tsx index e2038fa..6851776 100644 --- a/src/module/task/ui/edit_detail_task.tsx +++ b/src/module/task/ui/edit_detail_task.tsx @@ -32,6 +32,7 @@ export default function EditDetailTask() { const param = useParams<{ id: string, detail: string }>() const [openModal, setOpenModal] = useState(false) const [loading, setLoading] = useState(true) + const [idTugas, setIdTugas] = useState("") const tema = useHookstate(TEMA) async function onSubmit() { @@ -50,6 +51,7 @@ export default function EditDetailTask() { if (res.success) { toast.success(res.message); + router.push(`/division/${param.id}/task/${idTugas}`) } else { toast.error(res.message); } @@ -65,6 +67,7 @@ export default function EditDetailTask() { setLoading(true) const res = await funGetDetailTask(param.detail); if (res.success) { + setIdTugas(res.data.idProject) setTitle(res.data.title) setValue([ new Date(moment(res.data.dateStart).format('YYYY-MM-DD')),