This commit is contained in:
@@ -22,6 +22,7 @@ import { RbacGuard } from '../../common/guards/rbac.guard';
|
||||
import { RequirePermission } from '../../common/decorators/require-permission.decorator';
|
||||
import { CurrentUser } from '../../common/decorators/current-user.decorator';
|
||||
import { Audit } from '../../common/decorators/audit.decorator'; // Import
|
||||
import { ParseUuidPipe } from '../../common/pipes/parse-uuid.pipe';
|
||||
|
||||
@ApiTags('Circulations')
|
||||
@ApiBearerAuth()
|
||||
@@ -45,11 +46,11 @@ export class CirculationController {
|
||||
return this.circulationService.findAll(searchDto, user);
|
||||
}
|
||||
|
||||
@Get(':id')
|
||||
@Get(':uuid')
|
||||
@ApiOperation({ summary: 'Get circulation details' })
|
||||
@RequirePermission('document.view')
|
||||
findOne(@Param('id', ParseIntPipe) id: number) {
|
||||
return this.circulationService.findOne(id);
|
||||
findOne(@Param('uuid', ParseUuidPipe) uuid: string) {
|
||||
return this.circulationService.findOneByUuid(uuid);
|
||||
}
|
||||
|
||||
@Patch('routings/:id')
|
||||
@@ -58,7 +59,7 @@ export class CirculationController {
|
||||
updateRouting(
|
||||
@Param('id', ParseIntPipe) id: number,
|
||||
@Body() updateDto: UpdateCirculationRoutingDto,
|
||||
@CurrentUser() user: User,
|
||||
@CurrentUser() user: User
|
||||
) {
|
||||
return this.circulationService.updateRoutingStatus(id, updateDto, user);
|
||||
}
|
||||
|
||||
@@ -113,6 +113,17 @@ export class CirculationService {
|
||||
return circulation;
|
||||
}
|
||||
|
||||
async findOneByUuid(uuid: string) {
|
||||
const circulation = await this.circulationRepo.findOne({
|
||||
where: { uuid },
|
||||
relations: ['routings', 'routings.assignee', 'correspondence', 'creator'],
|
||||
order: { routings: { stepNumber: 'ASC' } },
|
||||
});
|
||||
if (!circulation)
|
||||
throw new NotFoundException(`Circulation UUID ${uuid} not found`);
|
||||
return circulation;
|
||||
}
|
||||
|
||||
// ✅ Logic อัปเดตสถานะและปิดงาน
|
||||
async updateRoutingStatus(
|
||||
routingId: number,
|
||||
|
||||
@@ -13,10 +13,13 @@ import { Organization } from '../../organization/entities/organization.entity';
|
||||
import { User } from '../../user/entities/user.entity';
|
||||
import { CirculationStatusCode } from './circulation-status-code.entity';
|
||||
import { CirculationRouting } from './circulation-routing.entity';
|
||||
import { UuidBaseEntity } from '../../../common/entities/uuid-base.entity';
|
||||
import { Exclude } from 'class-transformer';
|
||||
|
||||
@Entity('circulations')
|
||||
export class Circulation {
|
||||
export class Circulation extends UuidBaseEntity {
|
||||
@PrimaryGeneratedColumn()
|
||||
@Exclude()
|
||||
id!: number;
|
||||
|
||||
@Column({ name: 'correspondence_id', nullable: true })
|
||||
|
||||
Reference in New Issue
Block a user