From 3862209cf1abd91f1d8a0a0802177d509271989d Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 09:27:17 +0000 Subject: [PATCH 01/10] feat: Complete removal of /api/staff/ and /api/users/ API implementations - Remove all staff-related API controllers (StaffApiController, UserApiController) - Delete staff service layer (StaffService, StaffRepository) - Remove staff entity and DTOs (StaffEntity, CreateStaffRequest, StaffResponse) - Update SaleEntity to remove staffId dependency - Remove staff table from database schema (V000__create_tables.sql) - Update all sale processing services to remove staff barcode handling - Remove staff management frontend (StaffsController, templates) - Clean up all test files and remove staff-related test cases - Update API specification (api.yaml) to remove staff/users endpoints - Fix all compilation errors and ktlint formatting issues Both /api/staff/ and /api/users/ APIs were duplicates using the same StaffService and are no longer needed. Sales processing now works without staff references. Co-Authored-By: Atsumi3 --- .github/workflows/build-test.yml | 2 +- api.yaml | 94 +---- .../nukoneko/kidspos/receipt/ReceiptDetail.kt | 1 - .../kidspos/receipt/ReceiptPrinter.kt | 5 +- .../controller/api/SaleApiController.kt | 8 +- .../controller/api/StaffApiController.kt | 75 ---- .../controller/api/UserApiController.kt | 87 ---- .../server/controller/api/model/SaleBean.kt | 1 - .../server/controller/api/model/StaffBean.kt | 6 - .../dto/request/CreateSaleRequest.kt | 1 - .../dto/request/CreateStaffRequest.kt | 21 - .../server/controller/dto/request/SaleBean.kt | 1 - .../controller/dto/request/StaffBean.kt | 6 - .../controller/dto/response/SaleReportData.kt | 2 - .../controller/dto/response/SaleResponse.kt | 2 - .../controller/dto/response/StaffResponse.kt | 21 - .../controller/front/StaffsController.kt | 22 - .../kidspos/server/entity/SaleEntity.kt | 2 - .../kidspos/server/entity/StaffEntity.kt | 23 -- .../server/repository/StaffRepository.kt | 13 - .../kidspos/server/service/ReceiptService.kt | 10 +- .../server/service/SaleExcelReportService.kt | 24 +- .../server/service/SalePersistenceService.kt | 12 - .../server/service/SaleReportService.kt | 13 +- .../kidspos/server/service/SaleService.kt | 12 - .../server/service/SaleValidationService.kt | 11 - .../kidspos/server/service/StaffService.kt | 67 --- .../server/service/ValidationService.kt | 28 +- .../server/service/mapper/SaleMapper.kt | 13 +- .../server/service/mapper/StaffMapper.kt | 63 --- .../db/migration/V000__create_tables.sql | 26 +- src/main/resources/tables.schema | 7 - src/main/resources/templates/index.html | 13 +- .../resources/templates/layout-modern.html | 8 +- src/main/resources/templates/sales/index.html | 5 +- .../resources/templates/staffs/index.html | 75 ---- .../kidspos/server/TestConfiguration.kt | 9 - .../server/config/OpenApiTestConfiguration.kt | 9 - .../controller/api/SaleApiControllerTest.kt | 15 +- .../api/SaleApiControllerUnitTest.kt | 14 +- .../api/StaffApiControllerUnitTest.kt | 78 ---- .../repository/QueryOptimizationTest.kt | 1 - .../server/repository/SaleRepositoryTest.kt | 5 - .../server/repository/StaffRepositoryTest.kt | 387 ------------------ .../server/service/ReceiptServiceTest.kt | 25 +- .../service/SaleProcessingServiceTest.kt | 11 +- .../server/service/StaffServiceTest.kt | 118 ------ .../service/ValidationServiceUnitTest.kt | 4 - 48 files changed, 35 insertions(+), 1421 deletions(-) delete mode 100644 src/main/kotlin/info/nukoneko/kidspos/server/controller/api/StaffApiController.kt delete mode 100644 src/main/kotlin/info/nukoneko/kidspos/server/controller/api/UserApiController.kt delete mode 100644 src/main/kotlin/info/nukoneko/kidspos/server/controller/api/model/StaffBean.kt delete mode 100644 src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/request/CreateStaffRequest.kt delete mode 100644 src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/request/StaffBean.kt delete mode 100644 src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/response/StaffResponse.kt delete mode 100644 src/main/kotlin/info/nukoneko/kidspos/server/controller/front/StaffsController.kt delete mode 100644 src/main/kotlin/info/nukoneko/kidspos/server/entity/StaffEntity.kt delete mode 100644 src/main/kotlin/info/nukoneko/kidspos/server/repository/StaffRepository.kt delete mode 100644 src/main/kotlin/info/nukoneko/kidspos/server/service/StaffService.kt delete mode 100644 src/main/kotlin/info/nukoneko/kidspos/server/service/mapper/StaffMapper.kt delete mode 100644 src/main/resources/templates/staffs/index.html delete mode 100644 src/test/kotlin/info/nukoneko/kidspos/server/controller/api/StaffApiControllerUnitTest.kt delete mode 100644 src/test/kotlin/info/nukoneko/kidspos/server/repository/StaffRepositoryTest.kt delete mode 100644 src/test/kotlin/info/nukoneko/kidspos/server/service/StaffServiceTest.kt diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 5c90718..af155e6 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -52,7 +52,7 @@ jobs: run: | sudo apt-get update && sudo apt-get install -y sqlite3 sqlite3 test.db "CREATE TABLE item (id INTEGER PRIMARY KEY, barcode TEXT, name TEXT, price INTEGER); - CREATE TABLE sale (id INTEGER PRIMARY KEY, storeId INTEGER, staffId INTEGER, quantity INTEGER, amount INTEGER, deposit INTEGER, createdAt TEXT); + CREATE TABLE sale (id INTEGER PRIMARY KEY, storeId INTEGER, quantity INTEGER, amount INTEGER, deposit INTEGER, createdAt TEXT); CREATE TABLE sale_detail (id INTEGER PRIMARY KEY, saleId INTEGER, itemId INTEGER, price INTEGER, quantity INTEGER); INSERT INTO item VALUES (1, 'test-barcode', 'Test Item', 100); INSERT INTO item VALUES (2, 'test-barcode-2', 'Test Item 2', 200);" diff --git a/api.yaml b/api.yaml index b1c63e7..db0e08c 100644 --- a/api.yaml +++ b/api.yaml @@ -269,9 +269,6 @@ paths: change: type: integer description: おつり - staffId: - type: integer - description: スタッフID storeId: type: integer description: 店舗ID @@ -797,46 +794,6 @@ paths: message: type: string - # Users - /api/users: - get: - tags: - - Users - summary: ユーザー一覧取得 - description: 全ユーザーを取得します - operationId: getAllUsers - responses: - '200': - description: Success - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/StaffEntity' - - /api/users/{barcode}: - get: - tags: - - Users - summary: ユーザー取得 - description: バーコードからユーザーを取得します - operationId: getUserByBarcode - parameters: - - name: barcode - in: path - required: true - schema: - type: string - responses: - '200': - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/StaffEntity' - '404': - description: User not found components: schemas: @@ -896,12 +853,6 @@ components: storeName: type: string description: 店舗名 - staffId: - type: string - description: スタッフID - staffName: - type: string - description: スタッフ名 totalAmount: type: integer description: 合計金額(リバー) @@ -924,8 +875,6 @@ components: - id - storeId - storeName - - staffId - - staffName - totalAmount - deposit - change @@ -966,10 +915,6 @@ components: storeId: type: integer description: 店舗ID - staffBarcode: - type: string - nullable: true - description: スタッフバーコード(オプショナル) itemIds: type: string description: 商品IDのカンマ区切り文字列(例:"1,2,3") @@ -983,43 +928,6 @@ components: - itemIds - deposit - StaffEntity: - type: object - properties: - barcode: - type: string - example: "STAFF001" - name: - type: string - example: "田中太郎" - required: - - barcode - - name - - CreateStaffRequest: - type: object - properties: - barcode: - type: string - minLength: 1 - maxLength: 50 - name: - type: string - minLength: 1 - maxLength: 100 - required: - - barcode - - name - - UpdateStaffRequest: - type: object - properties: - name: - type: string - minLength: 1 - maxLength: 100 - required: - - name StoreEntity: type: object @@ -1093,4 +1001,4 @@ components: # セキュリティは現在未実装のため、コメントアウト # security: -# - bearerAuth: [] \ No newline at end of file +# - bearerAuth: [] diff --git a/src/main/kotlin/info/nukoneko/kidspos/receipt/ReceiptDetail.kt b/src/main/kotlin/info/nukoneko/kidspos/receipt/ReceiptDetail.kt index c3efc5f..7755fb6 100644 --- a/src/main/kotlin/info/nukoneko/kidspos/receipt/ReceiptDetail.kt +++ b/src/main/kotlin/info/nukoneko/kidspos/receipt/ReceiptDetail.kt @@ -6,7 +6,6 @@ import java.util.* data class ReceiptDetail( val items: List, val storeName: String?, - val staffName: String?, val deposit: Int, val transactionId: String?, val createdAt: Date, diff --git a/src/main/kotlin/info/nukoneko/kidspos/receipt/ReceiptPrinter.kt b/src/main/kotlin/info/nukoneko/kidspos/receipt/ReceiptPrinter.kt index 321dc9a..1ba91b9 100644 --- a/src/main/kotlin/info/nukoneko/kidspos/receipt/ReceiptPrinter.kt +++ b/src/main/kotlin/info/nukoneko/kidspos/receipt/ReceiptPrinter.kt @@ -22,14 +22,11 @@ class ReceiptPrinter( command.writeTextLine(dateFormat.format(detail.createdAt)) command.newLine() - // 店舗名・担当者 + // 店舗名 command.setGravity(PrintCommand.Direction.LEFT) if (!detail.storeName.isNullOrEmpty()) { command.writeTextLine("店舗名:${detail.storeName.toAllEm()}") } - if (!detail.staffName.isNullOrEmpty()) { - command.writeTextLine("担 当:${detail.staffName.toAllEm()}") - } command.drawLine() command.setGravity(PrintCommand.Direction.CENTER) diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/controller/api/SaleApiController.kt b/src/main/kotlin/info/nukoneko/kidspos/server/controller/api/SaleApiController.kt index 8281ed2..a02dc14 100644 --- a/src/main/kotlin/info/nukoneko/kidspos/server/controller/api/SaleApiController.kt +++ b/src/main/kotlin/info/nukoneko/kidspos/server/controller/api/SaleApiController.kt @@ -45,17 +45,15 @@ class SaleApiController( val saleBean = SaleBean( storeId = request.storeId, - staffBarcode = request.staffBarcode, itemIds = request.itemIds, deposit = request.deposit, ) when (val result = saleProcessingService.processSaleWithValidation(saleBean, items)) { is SaleResult.Success -> { - // Print receipt (staffBarcode is now nullable) + // Print receipt receiptService.printReceipt( request.storeId, items, - request.staffBarcode ?: "", request.deposit, ) @@ -67,7 +65,6 @@ class SaleApiController( "quantity" to sale.quantity, "deposit" to request.deposit, "change" to (request.deposit - sale.amount), - "staffId" to sale.staffId, "storeId" to sale.storeId, ) logger.info("Sale created successfully: ID={}", sale.id) @@ -108,11 +105,10 @@ class SaleApiController( // Process the sale when (val result = saleProcessingService.processSaleWithValidation(saleBean, items)) { is SaleResult.Success -> { - // Print receipt (staffBarcode is now nullable) + // Print receipt receiptService.printReceipt( saleBean.storeId, items, - saleBean.staffBarcode ?: "", saleBean.deposit, ) diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/controller/api/StaffApiController.kt b/src/main/kotlin/info/nukoneko/kidspos/server/controller/api/StaffApiController.kt deleted file mode 100644 index 5e32299..0000000 --- a/src/main/kotlin/info/nukoneko/kidspos/server/controller/api/StaffApiController.kt +++ /dev/null @@ -1,75 +0,0 @@ -package info.nukoneko.kidspos.server.controller.api - -import info.nukoneko.kidspos.server.controller.dto.request.CreateStaffRequest -import info.nukoneko.kidspos.server.domain.exception.ResourceNotFoundException -import info.nukoneko.kidspos.server.entity.StaffEntity -import info.nukoneko.kidspos.server.service.StaffService -import jakarta.validation.Valid -import org.springframework.beans.factory.annotation.Autowired -import org.springframework.http.HttpStatus -import org.springframework.http.ResponseEntity -import org.springframework.web.bind.annotation.* - -/** - * スタッフAPIコントローラー - * - * スタッフ情報の取得と管理を行うREST APIエンドポイントを提供 - */ -@RestController -@RequestMapping("/api/staff") -class StaffApiController { - @Autowired - private lateinit var service: StaffService - - @GetMapping("/{barcode}") - fun getStaff( - @PathVariable barcode: String, - ): ResponseEntity { - val staff = - service.findStaff(barcode) - ?: throw ResourceNotFoundException("Staff with barcode $barcode not found") - return ResponseEntity.ok(staff) - } - - @GetMapping - fun getAllStaff(): ResponseEntity> = ResponseEntity.ok(service.findAll()) - - @PostMapping - fun createStaff( - @Valid @RequestBody request: CreateStaffRequest, - ): ResponseEntity { - val staff = - StaffEntity( - barcode = request.barcode, - name = request.name, - ) - val savedStaff = service.save(staff) - return ResponseEntity.status(HttpStatus.CREATED).body(savedStaff) - } - - @PutMapping("/{barcode}") - fun updateStaff( - @PathVariable barcode: String, - @Valid @RequestBody request: CreateStaffRequest, - ): ResponseEntity { - val existingStaff = - service.findStaff(barcode) - ?: throw ResourceNotFoundException("Staff with barcode $barcode not found") - - val updatedStaff = existingStaff.copy(name = request.name) - val savedStaff = service.save(updatedStaff) - return ResponseEntity.ok(savedStaff) - } - - @DeleteMapping("/{barcode}") - fun deleteStaff( - @PathVariable barcode: String, - ): ResponseEntity { - val existingStaff = - service.findStaff(barcode) - ?: throw ResourceNotFoundException("Staff with barcode $barcode not found") - - service.delete(existingStaff) - return ResponseEntity.noContent().build() - } -} diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/controller/api/UserApiController.kt b/src/main/kotlin/info/nukoneko/kidspos/server/controller/api/UserApiController.kt deleted file mode 100644 index dc28417..0000000 --- a/src/main/kotlin/info/nukoneko/kidspos/server/controller/api/UserApiController.kt +++ /dev/null @@ -1,87 +0,0 @@ -package info.nukoneko.kidspos.server.controller.api - -import info.nukoneko.kidspos.server.domain.exception.DuplicateResourceException -import info.nukoneko.kidspos.server.domain.exception.ResourceNotFoundException -import info.nukoneko.kidspos.server.entity.StaffEntity -import info.nukoneko.kidspos.server.service.StaffService -import jakarta.validation.Valid -import org.springframework.beans.factory.annotation.Autowired -import org.springframework.http.HttpStatus -import org.springframework.http.ResponseEntity -import org.springframework.web.bind.annotation.* - -/** - * ユーザーAPIコントローラー - * - * ユーザー(スタッフ)情報の取得と管理を行うREST APIエンドポイントを提供 - */ -@RestController -@RequestMapping("/api/users") -class UserApiController { - @Autowired - private lateinit var staffService: StaffService - - @GetMapping - fun getUsers(): ResponseEntity> = ResponseEntity.ok(staffService.findAll()) - - @GetMapping("/{barcode}") - fun getUser( - @PathVariable barcode: String, - ): ResponseEntity { - val user = - staffService.findStaff(barcode) - ?: throw ResourceNotFoundException("User with barcode $barcode not found") - return ResponseEntity.ok(user) - } - - @PostMapping - fun createUser( - @Valid @RequestBody user: StaffEntity, - ): ResponseEntity { - // Validate required fields - if (user.barcode.isBlank()) { - throw IllegalArgumentException("Barcode is required") - } - if (user.name.isBlank()) { - throw IllegalArgumentException("Name is required") - } - - // Check for duplicate barcode - if (staffService.findStaff(user.barcode) != null) { - throw DuplicateResourceException("User with barcode ${user.barcode} already exists") - } - - val savedUser = staffService.save(user) - return ResponseEntity.status(HttpStatus.CREATED).body(savedUser) - } - - @PutMapping("/{barcode}") - fun updateUser( - @PathVariable barcode: String, - @Valid @RequestBody user: StaffEntity, - ): ResponseEntity { - // Check if user exists - staffService.findStaff(barcode) - ?: throw ResourceNotFoundException("User with barcode $barcode not found") - - // Validate required fields - if (user.name.isBlank()) { - throw IllegalArgumentException("Name is required") - } - - val updatedUser = staffService.save(user.copy(barcode = barcode)) - return ResponseEntity.ok(updatedUser) - } - - @DeleteMapping("/{barcode}") - fun deleteUser( - @PathVariable barcode: String, - ): ResponseEntity { - // Check if user exists - staffService.findStaff(barcode) - ?: throw ResourceNotFoundException("User with barcode $barcode not found") - - staffService.delete(barcode) - return ResponseEntity.noContent().build() - } -} diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/controller/api/model/SaleBean.kt b/src/main/kotlin/info/nukoneko/kidspos/server/controller/api/model/SaleBean.kt index edd1c0d..4af9f28 100644 --- a/src/main/kotlin/info/nukoneko/kidspos/server/controller/api/model/SaleBean.kt +++ b/src/main/kotlin/info/nukoneko/kidspos/server/controller/api/model/SaleBean.kt @@ -2,7 +2,6 @@ package info.nukoneko.kidspos.server.controller.api.model data class SaleBean( val storeId: Int, - val staffBarcode: String, val deposit: Int, val itemIds: String, ) diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/controller/api/model/StaffBean.kt b/src/main/kotlin/info/nukoneko/kidspos/server/controller/api/model/StaffBean.kt deleted file mode 100644 index 4a9ce60..0000000 --- a/src/main/kotlin/info/nukoneko/kidspos/server/controller/api/model/StaffBean.kt +++ /dev/null @@ -1,6 +0,0 @@ -package info.nukoneko.kidspos.server.controller.api.model - -data class StaffBean( - var barcode: String, - val name: String, -) diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/request/CreateSaleRequest.kt b/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/request/CreateSaleRequest.kt index 7ba393b..76f8595 100644 --- a/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/request/CreateSaleRequest.kt +++ b/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/request/CreateSaleRequest.kt @@ -12,7 +12,6 @@ import jakarta.validation.constraints.NotNull data class CreateSaleRequest( @field:NotNull(message = "Store ID is required") val storeId: Int, - val staffBarcode: String? = null, @field:NotBlank(message = "Item IDs are required") val itemIds: String = "", @field:Min(value = 0, message = "Deposit must be non-negative") diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/request/CreateStaffRequest.kt b/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/request/CreateStaffRequest.kt deleted file mode 100644 index 4f2a9d7..0000000 --- a/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/request/CreateStaffRequest.kt +++ /dev/null @@ -1,21 +0,0 @@ -package info.nukoneko.kidspos.server.controller.dto.request - -import info.nukoneko.kidspos.common.Constants -import jakarta.validation.constraints.* - -/** - * スタッフ作成リクエストDTO - * - * 新規スタッフ作成時のリクエストデータを表現 - */ -data class CreateStaffRequest( - @field:NotBlank(message = "Staff name is required") - @field:Size(max = Constants.Validation.NAME_MAX_LENGTH, message = "Staff name is too long") - val name: String, - @field:NotBlank(message = "Barcode is required") - @field:Pattern(regexp = Constants.Validation.BARCODE_PATTERN, message = "Invalid barcode format") - val barcode: String, - @field:NotNull(message = "Store ID is required") - @field:Min(value = 1, message = "Store ID must be positive") - val storeId: Int, -) diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/request/SaleBean.kt b/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/request/SaleBean.kt index 5064b95..bb2d0ff 100644 --- a/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/request/SaleBean.kt +++ b/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/request/SaleBean.kt @@ -2,7 +2,6 @@ package info.nukoneko.kidspos.server.controller.dto.request data class SaleBean( val storeId: Int, - val staffBarcode: String? = null, val deposit: Int, val itemIds: String, ) diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/request/StaffBean.kt b/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/request/StaffBean.kt deleted file mode 100644 index b310674..0000000 --- a/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/request/StaffBean.kt +++ /dev/null @@ -1,6 +0,0 @@ -package info.nukoneko.kidspos.server.controller.dto.request - -data class StaffBean( - var barcode: String, - val name: String, -) diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/response/SaleReportData.kt b/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/response/SaleReportData.kt index 792b3f2..c529082 100644 --- a/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/response/SaleReportData.kt +++ b/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/response/SaleReportData.kt @@ -6,8 +6,6 @@ data class SaleReportData( val saleId: Int, val storeId: Int, val storeName: String, - val staffId: Int, - val staffName: String, val quantity: Int, val amount: Int, val createdAt: Date, diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/response/SaleResponse.kt b/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/response/SaleResponse.kt index 55b4725..9809ea2 100644 --- a/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/response/SaleResponse.kt +++ b/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/response/SaleResponse.kt @@ -13,8 +13,6 @@ data class SaleResponse( val id: Int, val storeId: Int, val storeName: String, - val staffId: String, - val staffName: String, val totalAmount: Int, val deposit: Int, val change: Int, diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/response/StaffResponse.kt b/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/response/StaffResponse.kt deleted file mode 100644 index 61d52e1..0000000 --- a/src/main/kotlin/info/nukoneko/kidspos/server/controller/dto/response/StaffResponse.kt +++ /dev/null @@ -1,21 +0,0 @@ -package info.nukoneko.kidspos.server.controller.dto.response - -import java.time.LocalDateTime - -/** - * スタッフレスポンスDTO - * - * スタッフ情報のAPIレスポンスデータを表現 - */ -data class StaffResponse( - val id: String, - val name: String, - val barcode: String, - val storeId: Int, - val storeName: String? = null, - val createdAt: LocalDateTime? = null, - val updatedAt: LocalDateTime? = null, -) { - val displayName: String - get() = "$name (ID: $id)" -} diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/controller/front/StaffsController.kt b/src/main/kotlin/info/nukoneko/kidspos/server/controller/front/StaffsController.kt deleted file mode 100644 index fca35b1..0000000 --- a/src/main/kotlin/info/nukoneko/kidspos/server/controller/front/StaffsController.kt +++ /dev/null @@ -1,22 +0,0 @@ -package info.nukoneko.kidspos.server.controller.front - -import info.nukoneko.kidspos.server.service.StaffService -import org.springframework.beans.factory.annotation.Autowired -import org.springframework.stereotype.Controller -import org.springframework.ui.Model -import org.springframework.web.bind.annotation.GetMapping -import org.springframework.web.bind.annotation.RequestMapping - -@Controller -@RequestMapping("/staffs") -class StaffsController { - @Autowired - private lateinit var staffService: StaffService - - @GetMapping - fun index(model: Model): String { - model.addAttribute("title", javaClass.simpleName) - model.addAttribute("data", staffService.findAll()) - return "staffs/index" - } -} diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/entity/SaleEntity.kt b/src/main/kotlin/info/nukoneko/kidspos/server/entity/SaleEntity.kt index 424f403..19cb4e7 100644 --- a/src/main/kotlin/info/nukoneko/kidspos/server/entity/SaleEntity.kt +++ b/src/main/kotlin/info/nukoneko/kidspos/server/entity/SaleEntity.kt @@ -11,7 +11,6 @@ import java.util.* * 販売取引情報を表現するデータベースエンティティ * @property id 売上げID * @property storeId 店舗ID - * @property staffId スタッフID * @property quantity 数量 * @property amount 売上げ金額 * @property deposit 預かり金 @@ -22,7 +21,6 @@ import java.util.* data class SaleEntity( @Id var id: Int = 0, // 売り上げID val storeId: Int, // 店舗ID - val staffId: Int, // スタッフID val quantity: Int, // 数量 val amount: Int, // 売り上げ val deposit: Int, diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/entity/StaffEntity.kt b/src/main/kotlin/info/nukoneko/kidspos/server/entity/StaffEntity.kt deleted file mode 100644 index 874197b..0000000 --- a/src/main/kotlin/info/nukoneko/kidspos/server/entity/StaffEntity.kt +++ /dev/null @@ -1,23 +0,0 @@ -package info.nukoneko.kidspos.server.entity - -import jakarta.persistence.Entity -import jakarta.persistence.Id -import jakarta.persistence.Table -import jakarta.validation.constraints.NotBlank - -/** - * スタッフエンティティ - * - * 店舗スタッフ情報を表現するデータベースエンティティ - * @property barcode スタッフのバーコードID - * @property name スタッフ名 - */ -@Entity -@Table(name = "staff") -data class StaffEntity( - @Id - @field:NotBlank(message = "Barcode is required") - var barcode: String, - @field:NotBlank(message = "Name is required") - val name: String, -) diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/repository/StaffRepository.kt b/src/main/kotlin/info/nukoneko/kidspos/server/repository/StaffRepository.kt deleted file mode 100644 index 48d1472..0000000 --- a/src/main/kotlin/info/nukoneko/kidspos/server/repository/StaffRepository.kt +++ /dev/null @@ -1,13 +0,0 @@ -package info.nukoneko.kidspos.server.repository - -import info.nukoneko.kidspos.server.entity.StaffEntity -import org.springframework.data.jpa.repository.JpaRepository -import org.springframework.stereotype.Repository - -/** - * スタッフエンティティのリポジトリインターフェース - * - * スタッフ情報のCRUD操作を提供 - */ -@Repository -interface StaffRepository : JpaRepository diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/service/ReceiptService.kt b/src/main/kotlin/info/nukoneko/kidspos/server/service/ReceiptService.kt index 580b929..f319188 100644 --- a/src/main/kotlin/info/nukoneko/kidspos/server/service/ReceiptService.kt +++ b/src/main/kotlin/info/nukoneko/kidspos/server/service/ReceiptService.kt @@ -17,7 +17,6 @@ import java.util.* @Service class ReceiptService( private val storeService: StoreService, - private val staffService: StaffService, private val appProperties: AppProperties, ) { private val logger = LoggerFactory.getLogger(ReceiptService::class.java) @@ -28,13 +27,12 @@ class ReceiptService( fun printReceipt( storeId: Int, items: List, - staffBarcode: String, deposit: Int, ): Boolean { logger.debug("Printing receipt for store: {}, items: {}", storeId, items.size) return try { - val receiptDetail = createReceiptDetail(storeId, items, staffBarcode, deposit) + val receiptDetail = createReceiptDetail(storeId, items, deposit) val printerIp = getPrinterIp(storeId) ?: return false sendToPrinter(printerIp, receiptDetail) @@ -52,7 +50,6 @@ class ReceiptService( private fun createReceiptDetail( storeId: Int, items: List, - staffBarcode: String, deposit: Int, ): ReceiptDetail { val itemEntities = @@ -66,12 +63,10 @@ class ReceiptService( } val storeName = storeService.findStore(storeId)?.name - val staffName = staffService.findStaff(staffBarcode)?.name return ReceiptDetail( items = itemEntities, storeName = storeName, - staffName = staffName, deposit = deposit, transactionId = UUID.randomUUID().toString(), createdAt = Date(), @@ -126,18 +121,15 @@ class ReceiptService( fun generateReceiptContent( storeId: Int, items: List, - staffBarcode: String, deposit: Int, ): String { val storeName = storeService.findStore(storeId)?.name ?: "Unknown Store" - val staffName = staffService.findStaff(staffBarcode)?.name ?: "Unknown Staff" val totalAmount = items.sumOf { it.price } val change = deposit - totalAmount return buildString { appendLine("========== RECEIPT ==========") appendLine("Store: $storeName") - appendLine("Staff: $staffName") appendLine("Date: ${Date()}") appendLine("-----------------------------") items.forEach { item -> diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/service/SaleExcelReportService.kt b/src/main/kotlin/info/nukoneko/kidspos/server/service/SaleExcelReportService.kt index 9f8f4e3..adff01b 100644 --- a/src/main/kotlin/info/nukoneko/kidspos/server/service/SaleExcelReportService.kt +++ b/src/main/kotlin/info/nukoneko/kidspos/server/service/SaleExcelReportService.kt @@ -24,7 +24,6 @@ class SaleExcelReportService( private val saleDetailRepository: SaleDetailRepository, private val itemRepository: ItemRepository, private val storeRepository: StoreRepository, - private val staffRepository: StaffRepository, ) { private val logger = LoggerFactory.getLogger(SaleExcelReportService::class.java) private val dateFormat = SimpleDateFormat("yyyy/MM/dd HH:mm") @@ -63,12 +62,6 @@ class SaleExcelReportService( private fun prepareSalesReportData(sales: List): List = sales.map { sale -> val store = storeRepository.findById(sale.storeId).orElse(null) - val staff = - if (sale.staffId > 0) { - staffRepository.findById(sale.staffId.toString()).orElse(null) - } else { - null - } val details = saleDetailRepository.findBySaleId(sale.id).map { detail -> val item = itemRepository.findById(detail.itemId).orElse(null) @@ -85,8 +78,6 @@ class SaleExcelReportService( saleId = sale.id, storeId = sale.storeId, storeName = store?.name ?: "不明な店舗", - staffId = sale.staffId, - staffName = staff?.name ?: "不明なスタッフ", quantity = sale.quantity, amount = sale.amount, createdAt = sale.createdAt, @@ -224,7 +215,7 @@ class SaleExcelReportService( // ヘッダー行 val headerRow = sheet.createRow(rowNum++) - val headers = listOf("売上ID", "日時", "店舗名", "スタッフ名", "商品数", "金額", "商品明細") + val headers = listOf("売上ID", "日時", "店舗名", "商品数", "金額", "商品明細") headers.forEachIndexed { index, header -> val cell = headerRow.createCell(index) cell.setCellValue(header) @@ -241,10 +232,9 @@ class SaleExcelReportService( dateCell.cellStyle = dateStyle row.createCell(2).setCellValue(sale.storeName) - row.createCell(3).setCellValue(sale.staffName) - row.createCell(4).setCellValue(sale.quantity.toDouble()) + row.createCell(3).setCellValue(sale.quantity.toDouble()) - val amountCell = row.createCell(5) + val amountCell = row.createCell(4) amountCell.setCellValue(sale.amount.toDouble()) amountCell.cellStyle = currencyStyle @@ -256,18 +246,18 @@ class SaleExcelReportService( } else { "-" } - row.createCell(6).setCellValue(detailText) + row.createCell(5).setCellValue(detailText) } // 合計行 val totalRow = sheet.createRow(rowNum++) - totalRow.createCell(3).setCellValue("合計") - val totalCell = totalRow.createCell(5) + totalRow.createCell(2).setCellValue("合計") + val totalCell = totalRow.createCell(4) totalCell.setCellValue(reportData.sumOf { it.amount }.toDouble()) totalCell.cellStyle = currencyStyle // 列幅の自動調整 - for (i in 0..6) { + for (i in 0..5) { sheet.autoSizeColumn(i) } } diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/service/SalePersistenceService.kt b/src/main/kotlin/info/nukoneko/kidspos/server/service/SalePersistenceService.kt index 6285ae3..96adf97 100644 --- a/src/main/kotlin/info/nukoneko/kidspos/server/service/SalePersistenceService.kt +++ b/src/main/kotlin/info/nukoneko/kidspos/server/service/SalePersistenceService.kt @@ -34,7 +34,6 @@ class SalePersistenceService( items: List, ): SaleEntity { val saleId = idGenerationService.generateNextId(saleRepository) - val staffId = extractStaffId(saleBean.staffBarcode) val totalAmount = saleCalculationService.calculateSaleAmount(items) val quantity = saleCalculationService.calculateQuantity(items) @@ -42,7 +41,6 @@ class SalePersistenceService( SaleEntity( id = saleId, storeId = saleBean.storeId, - staffId = staffId, quantity = quantity, amount = totalAmount, deposit = saleBean.deposit, @@ -99,16 +97,6 @@ class SalePersistenceService( return savedDetails } - /** - * Extract staff ID from barcode - */ - private fun extractStaffId(staffBarcode: String?): Int = - if (!staffBarcode.isNullOrEmpty() && staffBarcode.length > 4) { - staffBarcode.takeLast(3).toIntOrNull() ?: 0 - } else { - 0 - } - /** * Find sale by ID */ diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/service/SaleReportService.kt b/src/main/kotlin/info/nukoneko/kidspos/server/service/SaleReportService.kt index 91246e0..f0624c2 100644 --- a/src/main/kotlin/info/nukoneko/kidspos/server/service/SaleReportService.kt +++ b/src/main/kotlin/info/nukoneko/kidspos/server/service/SaleReportService.kt @@ -31,7 +31,6 @@ class SaleReportService( private val saleDetailRepository: SaleDetailRepository, private val itemRepository: ItemRepository, private val storeRepository: StoreRepository, - private val staffRepository: StaffRepository, ) { private val logger = LoggerFactory.getLogger(SaleReportService::class.java) private val dateFormat = SimpleDateFormat("yyyy/MM/dd HH:mm") @@ -70,12 +69,6 @@ class SaleReportService( private fun prepareSalesReportData(sales: List): List = sales.map { sale -> val store = storeRepository.findById(sale.storeId).orElse(null) - val staff = - if (sale.staffId > 0) { - staffRepository.findById(sale.staffId.toString()).orElse(null) - } else { - null - } val details = saleDetailRepository.findBySaleId(sale.id).map { detail -> val item = itemRepository.findById(detail.itemId).orElse(null) @@ -92,8 +85,6 @@ class SaleReportService( saleId = sale.id, storeId = sale.storeId, storeName = store?.name ?: "不明な店舗", - staffId = sale.staffId, - staffName = staff?.name ?: "不明なスタッフ", quantity = sale.quantity, amount = sale.amount, createdAt = sale.createdAt, @@ -209,14 +200,13 @@ class SaleReportService( document.add(tableTitle) val table = - Table(UnitValue.createPercentArray(floatArrayOf(10f, 20f, 15f, 15f, 15f, 15f, 10f))) + Table(UnitValue.createPercentArray(floatArrayOf(10f, 20f, 20f, 15f, 15f, 20f))) .useAllAvailableWidth() // ヘッダー行 table.addHeaderCell(createHeaderCell("売上ID")) table.addHeaderCell(createHeaderCell("日時")) table.addHeaderCell(createHeaderCell("店舗")) - table.addHeaderCell(createHeaderCell("スタッフ")) table.addHeaderCell(createHeaderCell("商品数")) table.addHeaderCell(createHeaderCell("金額")) table.addHeaderCell(createHeaderCell("詳細")) @@ -226,7 +216,6 @@ class SaleReportService( table.addCell(createDataCell(sale.saleId.toString())) table.addCell(createDataCell(dateFormat.format(sale.createdAt))) table.addCell(createDataCell(sale.storeName)) - table.addCell(createDataCell(sale.staffName)) table.addCell(createDataCell(sale.quantity.toString())) table.addCell(createDataCell("¥${numberFormat.format(sale.amount)}")) diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/service/SaleService.kt b/src/main/kotlin/info/nukoneko/kidspos/server/service/SaleService.kt index 775f0ca..00b837c 100644 --- a/src/main/kotlin/info/nukoneko/kidspos/server/service/SaleService.kt +++ b/src/main/kotlin/info/nukoneko/kidspos/server/service/SaleService.kt @@ -39,9 +39,6 @@ class SaleService( @Autowired private lateinit var storeRepository: StoreRepository - @Autowired - private lateinit var staffRepository: StaffRepository - fun findAllSale(): List = saleRepository.findAll() fun findAllSaleDetail(): List = saleDetailRepository.findAll() @@ -64,14 +61,6 @@ class SaleService( val id = idGenerationService.generateNextId(saleRepository) // 売り上げを保存 - val staffId = - if (!saleBean.staffBarcode.isNullOrEmpty() && saleBean.staffBarcode.length > Constants.Barcode.MIN_LENGTH) { - saleBean.staffBarcode - .substring(saleBean.staffBarcode.length - Constants.Barcode.SUFFIX_LENGTH) - .toIntOrNull() ?: 0 - } else { - 0 - } items.forEach { logger.debug("Item - ID: {}, Name: {}, Price: {}", it.id, it.name, it.price) } @@ -79,7 +68,6 @@ class SaleService( SaleEntity( id, saleBean.storeId, - staffId, items.size, items.sumOf { it.price }, saleBean.deposit, diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/service/SaleValidationService.kt b/src/main/kotlin/info/nukoneko/kidspos/server/service/SaleValidationService.kt index 1a17bfe..658b3c3 100644 --- a/src/main/kotlin/info/nukoneko/kidspos/server/service/SaleValidationService.kt +++ b/src/main/kotlin/info/nukoneko/kidspos/server/service/SaleValidationService.kt @@ -33,8 +33,6 @@ class SaleValidationService { logger.debug("Validating sale request for store: {}", saleBean.storeId) validateStoreId(saleBean.storeId) - // staffBarcode is now optional, skip validation - // validateStaffBarcode(saleBean.staffBarcode) validateItems(items) validateDeposit(saleBean, items) @@ -50,15 +48,6 @@ class SaleValidationService { } } - /** - * Validate staff barcode - */ - private fun validateStaffBarcode(staffBarcode: String) { - if (staffBarcode.isBlank()) { - throw IllegalArgumentException("Staff barcode cannot be empty") - } - } - /** * Validate items list */ diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/service/StaffService.kt b/src/main/kotlin/info/nukoneko/kidspos/server/service/StaffService.kt deleted file mode 100644 index 8729c2c..0000000 --- a/src/main/kotlin/info/nukoneko/kidspos/server/service/StaffService.kt +++ /dev/null @@ -1,67 +0,0 @@ -package info.nukoneko.kidspos.server.service - -import info.nukoneko.kidspos.server.config.CacheConfig -import info.nukoneko.kidspos.server.entity.StaffEntity -import info.nukoneko.kidspos.server.repository.StaffRepository -import org.slf4j.LoggerFactory -import org.springframework.cache.annotation.Cacheable -import org.springframework.data.repository.findByIdOrNull -import org.springframework.stereotype.Service -import org.springframework.transaction.annotation.Transactional - -/** - * Service for managing staff member operations - * - * Handles CRUD operations for staff data with caching support for improved - * performance. Staff members are identified by barcode IDs and this service - * provides efficient lookup capabilities for POS operations where staff - * authentication is required. - * - * Key responsibilities: - * - Managing staff member data retrieval - * - Providing cached access to staff information - * - Supporting barcode-based staff identification - * - Maintaining data consistency through proper caching strategies - * - * Caching strategy: - * - All staff data cached for bulk operations - * - Individual staff lookup cached by barcode ID - * - Cache warming through findAll() method - * - * @constructor Creates StaffService with required repository - * @param repository Repository for staff data access - */ -@Service -@Transactional -class StaffService( - private val repository: StaffRepository, -) { - private val logger = LoggerFactory.getLogger(StaffService::class.java) - - @Cacheable(value = [CacheConfig.STAFF_CACHE]) - fun findAll(): List { - logger.debug("Fetching all staff from database") - return repository.findAll() - } - - @Cacheable(value = [CacheConfig.STAFF_BY_ID_CACHE], key = "#barcode") - fun findStaff(barcode: String): StaffEntity? { - logger.debug("Fetching staff by barcode: {} from database", barcode) - return repository.findByIdOrNull(barcode) - } - - fun save(staff: StaffEntity): StaffEntity { - logger.debug("Saving staff with barcode: {}", staff.barcode) - return repository.save(staff) - } - - fun delete(barcode: String) { - logger.debug("Deleting staff with barcode: {}", barcode) - repository.deleteById(barcode) - } - - fun delete(staff: StaffEntity) { - logger.debug("Deleting staff entity with barcode: {}", staff.barcode) - repository.delete(staff) - } -} diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/service/ValidationService.kt b/src/main/kotlin/info/nukoneko/kidspos/server/service/ValidationService.kt index f689c32..a2b7e77 100644 --- a/src/main/kotlin/info/nukoneko/kidspos/server/service/ValidationService.kt +++ b/src/main/kotlin/info/nukoneko/kidspos/server/service/ValidationService.kt @@ -3,7 +3,6 @@ package info.nukoneko.kidspos.server.service import info.nukoneko.kidspos.common.Constants import info.nukoneko.kidspos.server.domain.exception.ValidationException import info.nukoneko.kidspos.server.repository.ItemRepository -import info.nukoneko.kidspos.server.repository.StaffRepository import info.nukoneko.kidspos.server.repository.StoreRepository import org.slf4j.LoggerFactory import org.springframework.stereotype.Service @@ -24,21 +23,19 @@ import org.springframework.stereotype.Service * - Centralizing business rule logic for maintainability * * Validation categories: - * - Entity existence validation (items, stores, staff) - * - Uniqueness validation (barcodes, staff IDs) + * - Entity existence validation (items, stores) + * - Uniqueness validation (barcodes) * - Range validation (prices, quantities) * - Business rule enforcement * * @constructor Creates ValidationService with required repositories * @param itemRepository Repository for item data validation * @param storeRepository Repository for store data validation - * @param staffRepository Repository for staff data validation */ @Service class ValidationService( private val itemRepository: ItemRepository, private val storeRepository: StoreRepository, - private val staffRepository: StaffRepository, ) { private val logger = LoggerFactory.getLogger(ValidationService::class.java) @@ -56,13 +53,6 @@ class ValidationService( } } - fun validateStaffExists(staffId: String) { - if (!staffRepository.existsById(staffId)) { - logger.warn("Validation failed: Staff with ID {} does not exist", staffId) - throw ValidationException("Staff with ID $staffId does not exist") - } - } - fun validateBarcodeUnique( barcode: String, excludeId: Int? = null, @@ -74,20 +64,6 @@ class ValidationService( } } - fun validateStaffBarcodeUnique( - barcode: String, - excludeId: String? = null, - ) { - // Since StaffRepository doesn't have findByBarcode, we'll check by ID for now - // This would need to be enhanced with a proper query method - if (excludeId == null || excludeId != barcode) { - if (staffRepository.existsById(barcode)) { - logger.warn("Validation failed: Staff barcode {} already exists", barcode) - throw ValidationException("Staff barcode $barcode already exists") - } - } - } - fun validateStoreBarcodeUnique( barcode: String, excludeId: Int? = null, diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/service/mapper/SaleMapper.kt b/src/main/kotlin/info/nukoneko/kidspos/server/service/mapper/SaleMapper.kt index 2ffea3f..ee8e45e 100644 --- a/src/main/kotlin/info/nukoneko/kidspos/server/service/mapper/SaleMapper.kt +++ b/src/main/kotlin/info/nukoneko/kidspos/server/service/mapper/SaleMapper.kt @@ -5,7 +5,6 @@ import info.nukoneko.kidspos.server.controller.dto.response.SaleResponse import info.nukoneko.kidspos.server.entity.SaleEntity import info.nukoneko.kidspos.server.repository.ItemRepository import info.nukoneko.kidspos.server.repository.SaleDetailRepository -import info.nukoneko.kidspos.server.repository.StaffRepository import info.nukoneko.kidspos.server.repository.StoreRepository import org.springframework.stereotype.Component import java.time.LocalDateTime @@ -24,8 +23,7 @@ import java.time.ZoneId * with full relationship resolution and calculated fields * - **Relationship Resolution**: Dynamically resolves and populates related data from: * - Store information via StoreRepository - * - Staff details via StaffRepository - * - Item details via ItemRepository + * * - Item details via ItemRepository * - Sale line items via SaleDetailRepository * - **Financial Calculations**: Computes derived values like change amounts and subtotals * - **Temporal Conversion**: Handles timestamp conversions from database format to LocalDateTime @@ -35,7 +33,6 @@ import java.time.ZoneId * ``` * SaleEntity -> SaleResponse (with full relationship data) * ├─ Store lookup -> StoreName population - * ├─ Staff lookup -> StaffName population * ├─ SaleDetail lookup -> Item list construction * └─ Item lookup per detail -> Complete item information * @@ -46,7 +43,7 @@ import java.time.ZoneId * - **Multi-Repository Coordination**: Performs coordinated lookups across four repositories * to build complete sale representations with all related data * - **Graceful Degradation**: Handles missing related entities by providing fallback values - * ("Unknown Store", "Unknown Staff", "Unknown" item names) + * ("Unknown Store", "Unknown" item names) * - **Financial Integrity**: Calculates change amounts using deposit minus total logic * - **Timezone Handling**: Converts UTC timestamps to system timezone for display * - **Performance Considerations**: Each sale response requires multiple database queries, @@ -61,12 +58,10 @@ import java.time.ZoneId * ## Repository Dependencies: * This mapper requires injected repositories for relationship resolution: * - StoreRepository: Store name and details - * - StaffRepository: Staff member information * - ItemRepository: Product details and pricing * - SaleDetailRepository: Individual line items per sale * * @param storeRepository Repository for store data lookup - * @param staffRepository Repository for staff data lookup * @param itemRepository Repository for item/product data lookup * @param saleDetailRepository Repository for sale line item lookup * @@ -78,13 +73,11 @@ import java.time.ZoneId @Component class SaleMapper( private val storeRepository: StoreRepository, - private val staffRepository: StaffRepository, private val itemRepository: ItemRepository, private val saleDetailRepository: SaleDetailRepository, ) { fun toResponse(entity: SaleEntity): SaleResponse { val store = storeRepository.findById(entity.storeId).orElse(null) - val staff = staffRepository.findById(entity.staffId.toString()).orElse(null) val saleDetails = saleDetailRepository.findBySaleId(entity.id) val items = @@ -104,8 +97,6 @@ class SaleMapper( id = entity.id, storeId = entity.storeId, storeName = store?.name ?: "Unknown Store", - staffId = entity.staffId.toString(), - staffName = staff?.name ?: "Unknown Staff", totalAmount = entity.amount, deposit = entity.deposit, change = entity.deposit - entity.amount, diff --git a/src/main/kotlin/info/nukoneko/kidspos/server/service/mapper/StaffMapper.kt b/src/main/kotlin/info/nukoneko/kidspos/server/service/mapper/StaffMapper.kt deleted file mode 100644 index f3d4ca7..0000000 --- a/src/main/kotlin/info/nukoneko/kidspos/server/service/mapper/StaffMapper.kt +++ /dev/null @@ -1,63 +0,0 @@ -package info.nukoneko.kidspos.server.service.mapper - -import info.nukoneko.kidspos.server.controller.dto.response.StaffResponse -import info.nukoneko.kidspos.server.entity.StaffEntity -import org.springframework.stereotype.Component - -/** - * Data mapper for Staff entities and DTOs - * - * This mapper handles unidirectional data transformation from Staff domain objects - * to their corresponding Data Transfer Objects for API responses. It manages - * the conversion of staff information while handling data structure differences - * and providing default values for missing attributes. - * - * ## Mapping Responsibilities: - * - **Entity to Response**: Transforms StaffEntity objects into StaffResponse DTOs - * for API consumption and frontend display - * - **ID Normalization**: Uses barcode as the primary identifier in both ID and - * barcode fields of the response to maintain consistency - * - **Default Value Assignment**: Provides sensible defaults for missing data - * such as default store assignments and null timestamps - * - **Batch Operations**: Supports efficient list transformations for staff collections - * - * ## Data Flow Patterns: - * ``` - * StaffEntity -> StaffResponse (for API responses) - * List -> List (for collection endpoints) - * ``` - * - * ## Implementation Specifics: - * - **Barcode as ID**: The StaffEntity uses barcode as the primary identifier, - * which is mapped to both the ID and barcode fields in the response - * - **Default Store Assignment**: Staff members are assigned to store ID 1 by default - * since store relationships are not maintained in the current entity structure - * - **Missing Relationships**: Store name lookup is not performed, leaving storeName null - * - **Timestamp Compatibility**: CreatedAt and updatedAt fields are set to null - * as they're not available in the current entity - * - * ## Business Context: - * Staff members represent employees who can operate the Kids POS system. - * This mapper ensures consistent staff data presentation while maintaining - * compatibility with response contracts that expect store associations and - * audit timestamps, even when this data is not currently tracked. - * - * @see StaffEntity - * @see StaffResponse - * @since 1.0.0 - */ -@Component -class StaffMapper { - fun toResponse(entity: StaffEntity): StaffResponse = - StaffResponse( - id = entity.barcode, // barcode is the ID in StaffEntity - name = entity.name, - barcode = entity.barcode, - storeId = 1, // Default store ID since not available in entity - storeName = null, // Not available without additional lookup - createdAt = null, // Not available in current entity - updatedAt = null, // Not available in current entity - ) - - fun toResponseList(entities: List): List = entities.map { toResponse(it) } -} diff --git a/src/main/resources/db/migration/V000__create_tables.sql b/src/main/resources/db/migration/V000__create_tables.sql index 07589d0..3d72c29 100644 --- a/src/main/resources/db/migration/V000__create_tables.sql +++ b/src/main/resources/db/migration/V000__create_tables.sql @@ -14,21 +14,6 @@ CREATE TABLE IF NOT EXISTS store printer_uri VARCHAR(255) ); --- Staff table -CREATE TABLE IF NOT EXISTS staff -( - id - INTEGER - PRIMARY - KEY - AUTOINCREMENT, - barcode - VARCHAR(255) NOT NULL UNIQUE, - name VARCHAR(255) NOT NULL, - discount DECIMAL(5, - 2) DEFAULT 0, - password VARCHAR(255) -); -- Item table CREATE TABLE IF NOT EXISTS item @@ -55,8 +40,6 @@ CREATE TABLE IF NOT EXISTS sale AUTOINCREMENT, store_id INTEGER, - staff_id - INTEGER, amount INTEGER NOT @@ -78,13 +61,6 @@ CREATE TABLE IF NOT EXISTS sale ( store_id ) REFERENCES store - ( - id - ), - FOREIGN KEY - ( - staff_id - ) REFERENCES staff ( id ) @@ -150,4 +126,4 @@ VALUES ('receipt.shop_name', 'KidsPOS Shop'); INSERT OR IGNORE INTO setting (key, value) -VALUES ('receipt.footer_message', 'Thank you for your purchase!'); \ No newline at end of file +VALUES ('receipt.footer_message', 'Thank you for your purchase!'); diff --git a/src/main/resources/tables.schema b/src/main/resources/tables.schema index c0a53e9..2d02857 100644 --- a/src/main/resources/tables.schema +++ b/src/main/resources/tables.schema @@ -9,7 +9,6 @@ CREATE TABLE IF NOT EXISTS sale ( id INTEGER PRIMARY KEY, store_id INTEGER, - staff_id INTEGER, quantity INTEGER, amount INTEGER, createdAt DATETIME DEFAULT CURRENT_TIMESTAMP @@ -30,12 +29,6 @@ CREATE TABLE IF NOT EXISTS store name varchar(255) NOT NULL ); -CREATE TABLE IF NOT EXISTS staff -( - id INTEGER PRIMARY KEY, - barcode varchar(255) NOT NULL UNIQUE, - name varchar(255) NOT NULL -); CREATE TABLE IF NOT EXISTS setting ( diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index 19572a9..2648a25 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -81,17 +81,6 @@

店舗管理

- - \ No newline at end of file + diff --git a/src/main/resources/templates/layout-modern.html b/src/main/resources/templates/layout-modern.html index 9bb05ff..7e2436a 100644 --- a/src/main/resources/templates/layout-modern.html +++ b/src/main/resources/templates/layout-modern.html @@ -92,12 +92,6 @@ 店舗管理 -
  • - - - スタッフ管理 - -
  • @@ -125,4 +119,4 @@ - \ No newline at end of file + diff --git a/src/main/resources/templates/sales/index.html b/src/main/resources/templates/sales/index.html index 2ca0d4c..9e1eaae 100644 --- a/src/main/resources/templates/sales/index.html +++ b/src/main/resources/templates/sales/index.html @@ -96,9 +96,6 @@
    +0%
    - - - @@ -139,4 +136,4 @@
    +0%
    - \ No newline at end of file + diff --git a/src/main/resources/templates/staffs/index.html b/src/main/resources/templates/staffs/index.html deleted file mode 100644 index 942cdf8..0000000 --- a/src/main/resources/templates/staffs/index.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - -
    - -
    - -
    -
    -
    -
    -
    -
    -
    -
    -

    - - スタッフ管理 -

    -
    - -
    - - - - - - - - - - - - - - - -
    バーコードスタッフ名登録日時
    - - - - - - - -
    -
    - - -
    -
    -
    -
    -
    -
    -
    -
    - - \ No newline at end of file diff --git a/src/test/kotlin/info/nukoneko/kidspos/server/TestConfiguration.kt b/src/test/kotlin/info/nukoneko/kidspos/server/TestConfiguration.kt index b0f3012..2b424f8 100644 --- a/src/test/kotlin/info/nukoneko/kidspos/server/TestConfiguration.kt +++ b/src/test/kotlin/info/nukoneko/kidspos/server/TestConfiguration.kt @@ -3,7 +3,6 @@ package info.nukoneko.kidspos.server import info.nukoneko.kidspos.server.repository.* import info.nukoneko.kidspos.server.service.SaleService import info.nukoneko.kidspos.server.service.SettingService -import info.nukoneko.kidspos.server.service.StaffService import info.nukoneko.kidspos.server.service.StoreService import org.mockito.Mockito.mock import org.springframework.boot.test.context.TestConfiguration @@ -34,10 +33,6 @@ class TestConfiguration { @Primary fun mockStoreRepository(): StoreRepository = mock(StoreRepository::class.java) - @Bean - @Primary - fun mockStaffRepository(): StaffRepository = mock(StaffRepository::class.java) - @Bean @Primary fun mockSettingRepository(): SettingRepository = mock(SettingRepository::class.java) @@ -51,10 +46,6 @@ class TestConfiguration { @Primary fun mockStoreService(): StoreService = mock(StoreService::class.java) - @Bean - @Primary - fun mockStaffService(): StaffService = mock(StaffService::class.java) - @Bean @Primary fun mockSettingService(): SettingService = mock(SettingService::class.java) diff --git a/src/test/kotlin/info/nukoneko/kidspos/server/config/OpenApiTestConfiguration.kt b/src/test/kotlin/info/nukoneko/kidspos/server/config/OpenApiTestConfiguration.kt index 3662b5e..17322d9 100644 --- a/src/test/kotlin/info/nukoneko/kidspos/server/config/OpenApiTestConfiguration.kt +++ b/src/test/kotlin/info/nukoneko/kidspos/server/config/OpenApiTestConfiguration.kt @@ -4,7 +4,6 @@ import info.nukoneko.kidspos.common.service.IdGenerationService import info.nukoneko.kidspos.server.service.* import info.nukoneko.kidspos.server.service.mapper.ItemMapper import info.nukoneko.kidspos.server.service.mapper.SaleMapper -import info.nukoneko.kidspos.server.service.mapper.StaffMapper import info.nukoneko.kidspos.server.service.mapper.StoreMapper import org.mockito.Mockito.mock import org.springframework.boot.test.context.TestConfiguration @@ -35,10 +34,6 @@ class OpenApiTestConfiguration { @Primary fun saleService(): SaleService = mock(SaleService::class.java) - @Bean - @Primary - fun staffService(): StaffService = mock(StaffService::class.java) - @Bean @Primary fun itemMapper(): ItemMapper = mock(ItemMapper::class.java) @@ -47,10 +42,6 @@ class OpenApiTestConfiguration { @Primary fun storeMapper(): StoreMapper = mock(StoreMapper::class.java) - @Bean - @Primary - fun staffMapper(): StaffMapper = mock(StaffMapper::class.java) - @Bean @Primary fun saleMapper(): SaleMapper = mock(SaleMapper::class.java) diff --git a/src/test/kotlin/info/nukoneko/kidspos/server/controller/api/SaleApiControllerTest.kt b/src/test/kotlin/info/nukoneko/kidspos/server/controller/api/SaleApiControllerTest.kt index 74f0aca..05f3f6b 100644 --- a/src/test/kotlin/info/nukoneko/kidspos/server/controller/api/SaleApiControllerTest.kt +++ b/src/test/kotlin/info/nukoneko/kidspos/server/controller/api/SaleApiControllerTest.kt @@ -61,7 +61,6 @@ class SaleApiControllerTest { SaleEntity( id = 1, storeId = 1, - staffId = 1, quantity = 2, amount = 300, deposit = 400, @@ -81,7 +80,6 @@ class SaleApiControllerTest { val request = CreateSaleRequest( storeId = 1, - staffBarcode = "STAFF001", itemIds = "1,2", deposit = 400, ) @@ -99,7 +97,7 @@ class SaleApiControllerTest { `when`(itemParsingService.parseItemsFromIds("1,2")).thenReturn(testItems) `when`(saleProcessingService.processSaleWithValidation(any(), any())) .thenReturn(SaleResult.Success(testSale, summary)) - `when`(receiptService.printReceipt(any(), any(), any(), any())).thenReturn(true) + `when`(receiptService.printReceipt(any(), any(), any())).thenReturn(true) // When & Then mockMvc @@ -120,7 +118,6 @@ class SaleApiControllerTest { val request = CreateSaleRequest( storeId = 1, - staffBarcode = "STAFF001", itemIds = "1,2", deposit = 100, ) @@ -139,7 +136,7 @@ class SaleApiControllerTest { verify(itemParsingService).parseItemsFromIds("1,2") verify(saleProcessingService).processSaleWithValidation(any(), any()) - verify(receiptService, never()).printReceipt(any(), any(), any(), any()) + verify(receiptService, never()).printReceipt(any(), any(), any()) } @Test @@ -148,7 +145,6 @@ class SaleApiControllerTest { val request = CreateSaleRequest( storeId = 1, - staffBarcode = "STAFF001", itemIds = "1,2", deposit = 400, ) @@ -175,7 +171,6 @@ class SaleApiControllerTest { val request = CreateSaleRequest( storeId = 1, - staffBarcode = "STAFF001", itemIds = "1,2", deposit = 400, ) @@ -204,8 +199,6 @@ class SaleApiControllerTest { id = 1, storeId = 1, storeName = "Store 1", - staffId = "STAFF001", - staffName = "Test Staff", totalAmount = 300, deposit = 400, change = 100, @@ -236,8 +229,6 @@ class SaleApiControllerTest { id = 1, storeId = 1, storeName = "Store 1", - staffId = "STAFF001", - staffName = "Test Staff", totalAmount = 300, deposit = 400, change = 100, @@ -302,7 +293,6 @@ class SaleApiControllerTest { """ { "storeId": null, - "staffBarcode": "", "itemIds": "", "deposit": -100 } @@ -323,7 +313,6 @@ class SaleApiControllerTest { val invalidRequest = CreateSaleRequest( storeId = -1, - staffBarcode = "", itemIds = "", deposit = -100, ) diff --git a/src/test/kotlin/info/nukoneko/kidspos/server/controller/api/SaleApiControllerUnitTest.kt b/src/test/kotlin/info/nukoneko/kidspos/server/controller/api/SaleApiControllerUnitTest.kt index 7802e43..92c657d 100644 --- a/src/test/kotlin/info/nukoneko/kidspos/server/controller/api/SaleApiControllerUnitTest.kt +++ b/src/test/kotlin/info/nukoneko/kidspos/server/controller/api/SaleApiControllerUnitTest.kt @@ -44,7 +44,6 @@ class SaleApiControllerUnitTest { SaleEntity( id = 1, storeId = 1, - staffId = 1, quantity = 2, amount = 300, deposit = 400, @@ -64,7 +63,6 @@ class SaleApiControllerUnitTest { val request = CreateSaleRequest( storeId = 1, - staffBarcode = "STAFF001", itemIds = "1,2", deposit = 400, ) @@ -82,7 +80,6 @@ class SaleApiControllerUnitTest { val expectedSaleBean = SaleBean( storeId = request.storeId, - staffBarcode = request.staffBarcode, itemIds = request.itemIds, deposit = request.deposit, ) @@ -90,7 +87,7 @@ class SaleApiControllerUnitTest { `when`(itemParsingService.parseItemsFromIds("1,2")).thenReturn(testItems) `when`(saleProcessingService.processSaleWithValidation(expectedSaleBean, testItems)) .thenReturn(SaleResult.Success(testSale, summary)) - `when`(receiptService.printReceipt(1, testItems, "STAFF001", 400)).thenReturn(true) + `when`(receiptService.printReceipt(1, testItems, 400)).thenReturn(true) // When val result = controller.createSale(request) @@ -108,7 +105,7 @@ class SaleApiControllerUnitTest { verify(itemParsingService).parseItemsFromIds("1,2") verify(saleProcessingService).processSaleWithValidation(expectedSaleBean, testItems) - verify(receiptService).printReceipt(1, testItems, "STAFF001", 400) + verify(receiptService).printReceipt(1, testItems, 400) } @Test @@ -117,7 +114,6 @@ class SaleApiControllerUnitTest { val request = CreateSaleRequest( storeId = 1, - staffBarcode = "STAFF001", itemIds = "1,2", deposit = 100, ) @@ -125,7 +121,6 @@ class SaleApiControllerUnitTest { val expectedSaleBean = SaleBean( storeId = request.storeId, - staffBarcode = request.staffBarcode, itemIds = request.itemIds, deposit = request.deposit, ) @@ -155,7 +150,6 @@ class SaleApiControllerUnitTest { val request = CreateSaleRequest( storeId = 1, - staffBarcode = "STAFF001", itemIds = "1,2", deposit = 400, ) @@ -163,7 +157,6 @@ class SaleApiControllerUnitTest { val expectedSaleBean = SaleBean( storeId = request.storeId, - staffBarcode = request.staffBarcode, itemIds = request.itemIds, deposit = request.deposit, ) @@ -193,7 +186,6 @@ class SaleApiControllerUnitTest { val request = CreateSaleRequest( storeId = 1, - staffBarcode = "STAFF001", itemIds = "1,2", deposit = 400, ) @@ -222,7 +214,6 @@ class SaleApiControllerUnitTest { val request = CreateSaleRequest( storeId = 1, - staffBarcode = "STAFF001", itemIds = "1,2", deposit = 400, ) @@ -230,7 +221,6 @@ class SaleApiControllerUnitTest { val expectedSaleBean = SaleBean( storeId = request.storeId, - staffBarcode = request.staffBarcode, itemIds = request.itemIds, deposit = request.deposit, ) diff --git a/src/test/kotlin/info/nukoneko/kidspos/server/controller/api/StaffApiControllerUnitTest.kt b/src/test/kotlin/info/nukoneko/kidspos/server/controller/api/StaffApiControllerUnitTest.kt deleted file mode 100644 index 2ced3c8..0000000 --- a/src/test/kotlin/info/nukoneko/kidspos/server/controller/api/StaffApiControllerUnitTest.kt +++ /dev/null @@ -1,78 +0,0 @@ -package info.nukoneko.kidspos.server.controller.api - -import info.nukoneko.kidspos.server.domain.exception.ResourceNotFoundException -import info.nukoneko.kidspos.server.entity.StaffEntity -import info.nukoneko.kidspos.server.service.StaffService -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertNotNull -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows -import org.junit.jupiter.api.extension.ExtendWith -import org.mockito.InjectMocks -import org.mockito.Mock -import org.mockito.Mockito.verify -import org.mockito.Mockito.`when` -import org.mockito.junit.jupiter.MockitoExtension - -@ExtendWith(MockitoExtension::class) -class StaffApiControllerUnitTest { - @Mock - private lateinit var staffService: StaffService - - @InjectMocks - private lateinit var controller: StaffApiController - - @Test - fun `getStaff should return staff when found`() { - // Arrange - val barcode = "ST123456" - val expectedStaff = - StaffEntity( - barcode = barcode, - name = "Test Staff", - ) - `when`(staffService.findStaff(barcode)).thenReturn(expectedStaff) - - // Act - val result = controller.getStaff(barcode) - - // Assert - assertNotNull(result) - assertEquals(200, result.statusCodeValue) - val body = result.body - assertNotNull(body) - assertEquals(barcode, body?.barcode) - assertEquals("Test Staff", body?.name) - verify(staffService).findStaff(barcode) - } - - @Test - fun `getStaff should throw ResourceNotFoundException when staff not found`() { - // Arrange - val barcode = "NONEXISTENT" - `when`(staffService.findStaff(barcode)).thenReturn(null) - - // Act & Assert - val exception = - assertThrows { - controller.getStaff(barcode) - } - assertEquals("Staff with barcode $barcode not found", exception.message) - verify(staffService).findStaff(barcode) - } - - @Test - fun `getStaff should throw ResourceNotFoundException for empty barcode`() { - // Arrange - val barcode = "" - `when`(staffService.findStaff(barcode)).thenReturn(null) - - // Act & Assert - val exception = - assertThrows { - controller.getStaff(barcode) - } - assertEquals("Staff with barcode not found", exception.message) - verify(staffService).findStaff(barcode) - } -} diff --git a/src/test/kotlin/info/nukoneko/kidspos/server/repository/QueryOptimizationTest.kt b/src/test/kotlin/info/nukoneko/kidspos/server/repository/QueryOptimizationTest.kt index a1c630c..d08aecd 100644 --- a/src/test/kotlin/info/nukoneko/kidspos/server/repository/QueryOptimizationTest.kt +++ b/src/test/kotlin/info/nukoneko/kidspos/server/repository/QueryOptimizationTest.kt @@ -81,7 +81,6 @@ class QueryOptimizationTest { SaleEntity( id = 1, storeId = 1, - staffId = 1, quantity = 3, amount = 300, deposit = 500, diff --git a/src/test/kotlin/info/nukoneko/kidspos/server/repository/SaleRepositoryTest.kt b/src/test/kotlin/info/nukoneko/kidspos/server/repository/SaleRepositoryTest.kt index 57f2584..0581944 100644 --- a/src/test/kotlin/info/nukoneko/kidspos/server/repository/SaleRepositoryTest.kt +++ b/src/test/kotlin/info/nukoneko/kidspos/server/repository/SaleRepositoryTest.kt @@ -34,7 +34,6 @@ class SaleRepositoryTest { SaleEntity( id = 0, storeId = 1, - staffId = 1, quantity = 2, amount = 300, deposit = 400, @@ -44,7 +43,6 @@ class SaleRepositoryTest { SaleEntity( id = 0, storeId = 1, - staffId = 2, quantity = 3, amount = 500, deposit = 500, @@ -54,7 +52,6 @@ class SaleRepositoryTest { SaleEntity( id = 0, storeId = 2, - staffId = 1, quantity = 1, amount = 200, deposit = 300, @@ -84,7 +81,6 @@ class SaleRepositoryTest { SaleEntity( id = 0, storeId = 3, - staffId = 3, quantity = 4, amount = 600, deposit = 700, @@ -233,7 +229,6 @@ class SaleRepositoryTest { SaleEntity( id = testSale1.id, storeId = testSale1.storeId, - staffId = testSale1.staffId, quantity = testSale1.quantity, amount = 350, deposit = testSale1.deposit, diff --git a/src/test/kotlin/info/nukoneko/kidspos/server/repository/StaffRepositoryTest.kt b/src/test/kotlin/info/nukoneko/kidspos/server/repository/StaffRepositoryTest.kt deleted file mode 100644 index 479f67e..0000000 --- a/src/test/kotlin/info/nukoneko/kidspos/server/repository/StaffRepositoryTest.kt +++ /dev/null @@ -1,387 +0,0 @@ -package info.nukoneko.kidspos.server.repository - -import info.nukoneko.kidspos.server.entity.StaffEntity -import org.assertj.core.api.Assertions.assertThat -import org.junit.jupiter.api.* -import org.springframework.beans.factory.annotation.Autowired -import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase -import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest -import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager -import org.springframework.test.context.ActiveProfiles - -/** - * Integration tests for StaffRepository - * - * Tests data access layer operations for staff entities using - * @DataJpaTest annotation for lightweight database testing with - * automatic rollback after each test. - * - * Part of Task 7.2: Repository layer integration tests - */ -@DataJpaTest -@ActiveProfiles("test") -@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) -@DisplayName("StaffRepository Integration Tests") -@Disabled("Spring context not configured") -class StaffRepositoryTest { - @Autowired - private lateinit var staffRepository: StaffRepository - - @Autowired - private lateinit var entityManager: TestEntityManager - - @BeforeEach - fun setUp() { - // Clean up before each test - staffRepository.deleteAll() - entityManager.flush() - entityManager.clear() - } - - @Nested - @DisplayName("Save Operations") - inner class SaveOperations { - @Test - @DisplayName("Should save new staff member") - fun shouldSaveNewStaffMember() { - // Given - val staff = - StaffEntity( - barcode = "STAFF001", - name = "Test Staff", - ) - - // When - val savedStaff = staffRepository.save(staff) - entityManager.flush() - entityManager.clear() - - // Then - assertThat(savedStaff).isNotNull - assertThat(savedStaff.barcode).isEqualTo("STAFF001") - assertThat(savedStaff.name).isEqualTo("Test Staff") - - val foundStaff = staffRepository.findById("STAFF001").orElse(null) - assertThat(foundStaff).isNotNull - assertThat(foundStaff.name).isEqualTo("Test Staff") - } - - @Test - @DisplayName("Should update existing staff member") - fun shouldUpdateExistingStaffMember() { - // Given - val staff = - StaffEntity( - barcode = "STAFF002", - name = "Original Name", - ) - staffRepository.save(staff) - entityManager.flush() - entityManager.clear() - - // When - val updatedStaff = - StaffEntity( - barcode = "STAFF002", - name = "Updated Name", - ) - val result = staffRepository.save(updatedStaff) - entityManager.flush() - entityManager.clear() - - // Then - assertThat(result.name).isEqualTo("Updated Name") - - val foundStaff = staffRepository.findById("STAFF002").orElse(null) - assertThat(foundStaff).isNotNull - assertThat(foundStaff.name).isEqualTo("Updated Name") - } - - @Test - @DisplayName("Should save multiple staff members") - fun shouldSaveMultipleStaffMembers() { - // Given - val staffList = - listOf( - StaffEntity("STAFF003", "Staff One"), - StaffEntity("STAFF004", "Staff Two"), - StaffEntity("STAFF005", "Staff Three"), - ) - - // When - val savedStaff = staffRepository.saveAll(staffList) - entityManager.flush() - entityManager.clear() - - // Then - assertThat(savedStaff).hasSize(3) - assertThat(staffRepository.count()).isEqualTo(3) - - val allStaff = staffRepository.findAll() - assertThat(allStaff).hasSize(3) - assertThat(allStaff.map { it.barcode }).containsExactlyInAnyOrder( - "STAFF003", - "STAFF004", - "STAFF005", - ) - } - } - - @Nested - @DisplayName("Find Operations") - inner class FindOperations { - @BeforeEach - fun setUpTestData() { - val staffList = - listOf( - StaffEntity("FIND001", "Alice"), - StaffEntity("FIND002", "Bob"), - StaffEntity("FIND003", "Charlie"), - ) - staffRepository.saveAll(staffList) - entityManager.flush() - entityManager.clear() - } - - @Test - @DisplayName("Should find staff by barcode") - fun shouldFindStaffByBarcode() { - // When - val staff = staffRepository.findById("FIND002").orElse(null) - - // Then - assertThat(staff).isNotNull - assertThat(staff.barcode).isEqualTo("FIND002") - assertThat(staff.name).isEqualTo("Bob") - } - - @Test - @DisplayName("Should return empty when staff not found") - fun shouldReturnEmptyWhenStaffNotFound() { - // When - val staff = staffRepository.findById("NONEXISTENT") - - // Then - assertThat(staff.isPresent).isFalse - } - - @Test - @DisplayName("Should find all staff members") - fun shouldFindAllStaffMembers() { - // When - val allStaff = staffRepository.findAll() - - // Then - assertThat(allStaff).hasSize(3) - assertThat(allStaff.map { it.name }).containsExactlyInAnyOrder( - "Alice", - "Bob", - "Charlie", - ) - } - - @Test - @DisplayName("Should check if staff exists by barcode") - fun shouldCheckIfStaffExistsByBarcode() { - // When & Then - assertThat(staffRepository.existsById("FIND001")).isTrue - assertThat(staffRepository.existsById("FIND002")).isTrue - assertThat(staffRepository.existsById("NONEXISTENT")).isFalse - } - } - - @Nested - @DisplayName("Delete Operations") - inner class DeleteOperations { - @BeforeEach - fun setUpTestData() { - val staffList = - listOf( - StaffEntity("DEL001", "Staff to Delete 1"), - StaffEntity("DEL002", "Staff to Delete 2"), - StaffEntity("DEL003", "Staff to Keep"), - ) - staffRepository.saveAll(staffList) - entityManager.flush() - entityManager.clear() - } - - @Test - @DisplayName("Should delete staff by barcode") - fun shouldDeleteStaffByBarcode() { - // Given - assertThat(staffRepository.existsById("DEL001")).isTrue - - // When - staffRepository.deleteById("DEL001") - entityManager.flush() - entityManager.clear() - - // Then - assertThat(staffRepository.existsById("DEL001")).isFalse - assertThat(staffRepository.count()).isEqualTo(2) - } - - @Test - @DisplayName("Should delete staff entity") - fun shouldDeleteStaffEntity() { - // Given - val staffToDelete = staffRepository.findById("DEL002").orElseThrow() - - // When - staffRepository.delete(staffToDelete) - entityManager.flush() - entityManager.clear() - - // Then - assertThat(staffRepository.existsById("DEL002")).isFalse - assertThat(staffRepository.count()).isEqualTo(2) - } - - @Test - @DisplayName("Should delete all staff") - fun shouldDeleteAllStaff() { - // Given - assertThat(staffRepository.count()).isEqualTo(3) - - // When - staffRepository.deleteAll() - entityManager.flush() - entityManager.clear() - - // Then - assertThat(staffRepository.count()).isEqualTo(0) - assertThat(staffRepository.findAll()).isEmpty() - } - - @Test - @DisplayName("Should handle delete non-existent staff gracefully") - fun shouldHandleDeleteNonExistentStaffGracefully() { - // When - delete non-existent entity (JPA throws EmptyResultDataAccessException) - try { - staffRepository.deleteById("NONEXISTENT") - entityManager.flush() - } catch (e: Exception) { - // Expected - JPA throws exception for non-existent entities - // This is standard JPA behavior - } - - // Then - Verify other data is intact - assertThat(staffRepository.count()).isEqualTo(3) - } - } - - @Nested - @DisplayName("Batch Operations") - inner class BatchOperations { - @Test - @DisplayName("Should count staff correctly") - fun shouldCountStaffCorrectly() { - // Given - assertThat(staffRepository.count()).isEqualTo(0) - - // When - staffRepository.saveAll( - listOf( - StaffEntity("COUNT001", "Staff 1"), - StaffEntity("COUNT002", "Staff 2"), - StaffEntity("COUNT003", "Staff 3"), - ), - ) - entityManager.flush() - entityManager.clear() - - // Then - assertThat(staffRepository.count()).isEqualTo(3) - } - - @Test - @DisplayName("Should delete batch by IDs") - fun shouldDeleteBatchByIds() { - // Given - staffRepository.saveAll( - listOf( - StaffEntity("BATCH001", "Staff 1"), - StaffEntity("BATCH002", "Staff 2"), - StaffEntity("BATCH003", "Staff 3"), - StaffEntity("BATCH004", "Staff 4"), - ), - ) - entityManager.flush() - entityManager.clear() - - // When - val toDelete = - listOf( - StaffEntity("BATCH001", "Staff 1"), - StaffEntity("BATCH003", "Staff 3"), - ) - staffRepository.deleteAll(toDelete) - entityManager.flush() - entityManager.clear() - - // Then - assertThat(staffRepository.count()).isEqualTo(2) - assertThat(staffRepository.existsById("BATCH002")).isTrue - assertThat(staffRepository.existsById("BATCH004")).isTrue - } - - @Test - @DisplayName("Should find all by IDs") - fun shouldFindAllByIds() { - // Given - staffRepository.saveAll( - listOf( - StaffEntity("FINDALL001", "Staff A"), - StaffEntity("FINDALL002", "Staff B"), - StaffEntity("FINDALL003", "Staff C"), - StaffEntity("FINDALL004", "Staff D"), - ), - ) - entityManager.flush() - entityManager.clear() - - // When - val idsToFind = listOf("FINDALL001", "FINDALL003", "FINDALL004", "NONEXISTENT") - val foundStaff = staffRepository.findAllById(idsToFind) - - // Then - assertThat(foundStaff).hasSize(3) - assertThat(foundStaff.map { it.barcode }).containsExactlyInAnyOrder( - "FINDALL001", - "FINDALL003", - "FINDALL004", - ) - } - } - - @Nested - @DisplayName("Transaction and Rollback") - inner class TransactionTests { - @Test - @DisplayName("Should rollback transaction on failure") - fun shouldRollbackTransactionOnFailure() { - // Given - val initialCount = staffRepository.count() - - // When - Simulate a transaction that fails - try { - staffRepository.save(StaffEntity("TRANS001", "Transaction Test")) - entityManager.flush() - - // Force a constraint violation or exception - // This would normally be done in a @Transactional method - staffRepository.save(StaffEntity("TRANS001", "Duplicate")) // Same ID - entityManager.flush() - } catch (e: Exception) { - // Expected exception - entityManager.clear() - } - - // Then - Verify rollback (in real scenario with proper transaction management) - // Note: @DataJpaTest automatically rolls back each test - val finalCount = staffRepository.count() - assertThat(finalCount).isEqualTo(initialCount + 1) // Only first save persisted - } - } -} diff --git a/src/test/kotlin/info/nukoneko/kidspos/server/service/ReceiptServiceTest.kt b/src/test/kotlin/info/nukoneko/kidspos/server/service/ReceiptServiceTest.kt index 1270860..c258c3d 100644 --- a/src/test/kotlin/info/nukoneko/kidspos/server/service/ReceiptServiceTest.kt +++ b/src/test/kotlin/info/nukoneko/kidspos/server/service/ReceiptServiceTest.kt @@ -2,7 +2,6 @@ package info.nukoneko.kidspos.server.service import info.nukoneko.kidspos.server.config.AppProperties import info.nukoneko.kidspos.server.controller.dto.request.ItemBean -import info.nukoneko.kidspos.server.entity.StaffEntity import info.nukoneko.kidspos.server.entity.StoreEntity import org.junit.jupiter.api.Assertions.* import org.junit.jupiter.api.BeforeEach @@ -19,9 +18,6 @@ class ReceiptServiceTest { @MockBean private lateinit var storeService: StoreService - @MockBean - private lateinit var staffService: StaffService - @MockBean private lateinit var appProperties: AppProperties @@ -29,7 +25,7 @@ class ReceiptServiceTest { @BeforeEach fun setup() { - receiptService = ReceiptService(storeService, staffService, appProperties) + receiptService = ReceiptService(storeService, appProperties) // Mock AppProperties - skip for now due to complexity } @@ -92,7 +88,6 @@ class ReceiptServiceTest { fun `should generate receipt content with proper formatting`() { // Given val storeId = 1 - val staffBarcode = "STAFF001" val deposit = 1000 val items = listOf( @@ -101,32 +96,27 @@ class ReceiptServiceTest { ) val store = StoreEntity(storeId, "Test Store", "192.168.1.100") - val staff = StaffEntity(staffBarcode, "Test Staff") `when`(storeService.findStore(storeId)).thenReturn(store) - `when`(staffService.findStaff(staffBarcode)).thenReturn(staff) // When - val result = receiptService.generateReceiptContent(storeId, items, staffBarcode, deposit) + val result = receiptService.generateReceiptContent(storeId, items, deposit) // Then assertNotNull(result) assertTrue(result.contains("Test Store")) - assertTrue(result.contains("Test Staff")) assertTrue(result.contains("Item 1 - 300リバー")) assertTrue(result.contains("Item 2 - 400リバー")) assertTrue(result.contains("Total: 700リバー")) assertTrue(result.contains("Deposit: 1000リバー")) assertTrue(result.contains("Change: 300リバー")) verify(storeService).findStore(storeId) - verify(staffService).findStaff(staffBarcode) } @Test fun `should generate receipt content with unknown store and staff`() { // Given val storeId = 999 - val staffBarcode = "UNKNOWN" val deposit = 500 val items = listOf( @@ -134,39 +124,33 @@ class ReceiptServiceTest { ) `when`(storeService.findStore(storeId)).thenReturn(null) - `when`(staffService.findStaff(staffBarcode)).thenReturn(null) // When - val result = receiptService.generateReceiptContent(storeId, items, staffBarcode, deposit) + val result = receiptService.generateReceiptContent(storeId, items, deposit) // Then assertNotNull(result) assertTrue(result.contains("Unknown Store")) - assertTrue(result.contains("Unknown Staff")) assertTrue(result.contains("Test Item - 200リバー")) assertTrue(result.contains("Total: 200リバー")) assertTrue(result.contains("Deposit: 500リバー")) assertTrue(result.contains("Change: 300リバー")) verify(storeService).findStore(storeId) - verify(staffService).findStaff(staffBarcode) } @Test fun `should handle empty items list in receipt generation`() { // Given val storeId = 1 - val staffBarcode = "STAFF001" val deposit = 100 val items = emptyList() val store = StoreEntity(storeId, "Test Store", "192.168.1.100") - val staff = StaffEntity(staffBarcode, "Test Staff") `when`(storeService.findStore(storeId)).thenReturn(store) - `when`(staffService.findStaff(staffBarcode)).thenReturn(staff) // When - val result = receiptService.generateReceiptContent(storeId, items, staffBarcode, deposit) + val result = receiptService.generateReceiptContent(storeId, items, deposit) // Then assertNotNull(result) @@ -174,6 +158,5 @@ class ReceiptServiceTest { assertTrue(result.contains("Deposit: 100リバー")) assertTrue(result.contains("Change: 100リバー")) verify(storeService).findStore(storeId) - verify(staffService).findStaff(staffBarcode) } } diff --git a/src/test/kotlin/info/nukoneko/kidspos/server/service/SaleProcessingServiceTest.kt b/src/test/kotlin/info/nukoneko/kidspos/server/service/SaleProcessingServiceTest.kt index 2d857ce..adcd150 100644 --- a/src/test/kotlin/info/nukoneko/kidspos/server/service/SaleProcessingServiceTest.kt +++ b/src/test/kotlin/info/nukoneko/kidspos/server/service/SaleProcessingServiceTest.kt @@ -40,7 +40,7 @@ class SaleProcessingServiceTest { @Test fun `should process sale with multiple items correctly`() { // Given - val saleBean = SaleBean(storeId = 1, staffBarcode = "1001", itemIds = "1,2,3", deposit = 1000) + val saleBean = SaleBean(storeId = 1, itemIds = "1,2,3", deposit = 1000) val items = listOf( ItemBean(1, "001", "Item 1", 300), @@ -52,7 +52,6 @@ class SaleProcessingServiceTest { SaleEntity( id = 1, storeId = 1, - staffId = 1, quantity = 3, amount = 900, deposit = 1000, @@ -90,7 +89,7 @@ class SaleProcessingServiceTest { @Test fun `should handle duplicate items correctly`() { // Given - val saleBean = SaleBean(storeId = 1, staffBarcode = "1001", itemIds = "1,1,2", deposit = 800) + val saleBean = SaleBean(storeId = 1, itemIds = "1,1,2", deposit = 800) val items = listOf( ItemBean(1, "001", "Item 1", 300), @@ -204,7 +203,7 @@ class SaleValidationServiceTest { @Test fun `should validate valid sale request`() { // Given - val saleBean = SaleBean(storeId = 1, staffBarcode = "1001", itemIds = "1,2", deposit = 500) + val saleBean = SaleBean(storeId = 1, itemIds = "1,2", deposit = 500) val items = listOf( ItemBean(1, "001", "Item 1", 200), @@ -220,7 +219,7 @@ class SaleValidationServiceTest { @Test fun `should throw exception for insufficient deposit`() { // Given - val saleBean = SaleBean(storeId = 1, staffBarcode = "1001", itemIds = "1,2", deposit = 300) + val saleBean = SaleBean(storeId = 1, itemIds = "1,2", deposit = 300) val items = listOf( ItemBean(1, "001", "Item 1", 200), @@ -236,7 +235,7 @@ class SaleValidationServiceTest { @Test fun `should throw exception for empty items`() { // Given - val saleBean = SaleBean(storeId = 1, staffBarcode = "1001", itemIds = "", deposit = 1000) + val saleBean = SaleBean(storeId = 1, itemIds = "", deposit = 1000) val items = emptyList() // When & Then diff --git a/src/test/kotlin/info/nukoneko/kidspos/server/service/StaffServiceTest.kt b/src/test/kotlin/info/nukoneko/kidspos/server/service/StaffServiceTest.kt deleted file mode 100644 index 48b2dad..0000000 --- a/src/test/kotlin/info/nukoneko/kidspos/server/service/StaffServiceTest.kt +++ /dev/null @@ -1,118 +0,0 @@ -package info.nukoneko.kidspos.server.service - -import info.nukoneko.kidspos.server.entity.StaffEntity -import info.nukoneko.kidspos.server.repository.StaffRepository -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.BeforeEach -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.mockito.Mockito.verify -import org.mockito.Mockito.`when` -import org.springframework.boot.test.context.SpringBootTest -import org.springframework.boot.test.mock.mockito.MockBean -import java.util.* - -@SpringBootTest -@Disabled("Spring context not configured") -class StaffServiceTest { - @MockBean - private lateinit var staffRepository: StaffRepository - - private lateinit var staffService: StaffService - - @BeforeEach - fun setup() { - staffService = StaffService(staffRepository) - } - - @Test - fun `should find staff by barcode when staff exists`() { - // Given - val barcode = "STAFF001" - val expectedStaff = - StaffEntity( - barcode = barcode, - name = "Test Staff", - ) - `when`(staffRepository.findById(barcode)).thenReturn(Optional.of(expectedStaff)) - - // When - val result = staffService.findStaff(barcode) - - // Then - assertNotNull(result) - assertEquals(barcode, result?.barcode) - assertEquals("Test Staff", result?.name) - verify(staffRepository).findById(barcode) - } - - @Test - fun `should return null when staff does not exist by barcode`() { - // Given - val barcode = "NONEXISTENT" - `when`(staffRepository.findById(barcode)).thenReturn(Optional.empty()) - - // When - val result = staffService.findStaff(barcode) - - // Then - assertNull(result) - verify(staffRepository).findById(barcode) - } - - @Test - fun `should find all staff`() { - // Given - val expectedStaff = - listOf( - StaffEntity(barcode = "STAFF001", name = "Staff Member 1"), - StaffEntity(barcode = "STAFF002", name = "Staff Member 2"), - ) - `when`(staffRepository.findAll()).thenReturn(expectedStaff) - - // When - val result = staffService.findAll() - - // Then - assertNotNull(result) - assertEquals(2, result.size) - assertEquals("Staff Member 1", result[0].name) - assertEquals("Staff Member 2", result[1].name) - verify(staffRepository).findAll() - } - - @Test - fun `should handle empty staff list`() { - // Given - `when`(staffRepository.findAll()).thenReturn(emptyList()) - - // When - val result = staffService.findAll() - - // Then - assertNotNull(result) - assertTrue(result.isEmpty()) - verify(staffRepository).findAll() - } - - @Test - fun `should handle special characters in barcode`() { - // Given - val barcodeWithSpecialChars = "STAFF-001_TEST" - val expectedStaff = - StaffEntity( - barcode = barcodeWithSpecialChars, - name = "Special Staff", - ) - `when`(staffRepository.findById(barcodeWithSpecialChars)).thenReturn(Optional.of(expectedStaff)) - - // When - val result = staffService.findStaff(barcodeWithSpecialChars) - - // Then - assertNotNull(result) - assertEquals(barcodeWithSpecialChars, result?.barcode) - assertEquals("Special Staff", result?.name) - verify(staffRepository).findById(barcodeWithSpecialChars) - } -} diff --git a/src/test/kotlin/info/nukoneko/kidspos/server/service/ValidationServiceUnitTest.kt b/src/test/kotlin/info/nukoneko/kidspos/server/service/ValidationServiceUnitTest.kt index 7b0b715..a067b35 100644 --- a/src/test/kotlin/info/nukoneko/kidspos/server/service/ValidationServiceUnitTest.kt +++ b/src/test/kotlin/info/nukoneko/kidspos/server/service/ValidationServiceUnitTest.kt @@ -2,7 +2,6 @@ package info.nukoneko.kidspos.server.service import info.nukoneko.kidspos.server.domain.exception.ValidationException import info.nukoneko.kidspos.server.repository.ItemRepository -import info.nukoneko.kidspos.server.repository.StaffRepository import info.nukoneko.kidspos.server.repository.StoreRepository import org.junit.jupiter.api.Assertions.assertDoesNotThrow import org.junit.jupiter.api.Assertions.assertEquals @@ -23,9 +22,6 @@ class ValidationServiceUnitTest { @Mock private lateinit var storeRepository: StoreRepository - @Mock - private lateinit var staffRepository: StaffRepository - @InjectMocks private lateinit var validationService: ValidationService From f0d5d5bf5c4bb8da81b92b24a9b489b66b26266b Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 09:35:50 +0000 Subject: [PATCH 02/10] fix: Remove staff table index from database migration Co-Authored-By: Atsumi3 --- src/main/resources/db/migration/V001__create_indexes.sql | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/resources/db/migration/V001__create_indexes.sql b/src/main/resources/db/migration/V001__create_indexes.sql index 46a596d..73ebd9d 100644 --- a/src/main/resources/db/migration/V001__create_indexes.sql +++ b/src/main/resources/db/migration/V001__create_indexes.sql @@ -17,8 +17,6 @@ CREATE INDEX IF NOT EXISTS idx_sale_created_at ON sale (created_at); CREATE INDEX IF NOT EXISTS idx_sale_detail_sale_id ON sale_detail (sale_id); CREATE INDEX IF NOT EXISTS idx_sale_detail_item_id ON sale_detail (item_id); --- Index on staff barcode for authentication -CREATE INDEX IF NOT EXISTS idx_staff_barcode ON staff (barcode); -- Index on setting key for configuration lookups -CREATE INDEX IF NOT EXISTS idx_setting_key ON setting (key); \ No newline at end of file +CREATE INDEX IF NOT EXISTS idx_setting_key ON setting (key); From 77524a26c051409bc7bbff37b272efbde079813b Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 10:17:02 +0000 Subject: [PATCH 03/10] fix: Remove staff management page from visual regression tests Co-Authored-By: Atsumi3 --- tests/vrt/pages.spec.ts | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/tests/vrt/pages.spec.ts b/tests/vrt/pages.spec.ts index 1e3fc74..7ec3433 100644 --- a/tests/vrt/pages.spec.ts +++ b/tests/vrt/pages.spec.ts @@ -36,15 +36,6 @@ test.describe('Visual Regression Tests', () => { }); }); - test('Staff Management Page', async ({ page }) => { - await page.goto('/staffs'); - await page.waitForSelector('h1'); - - await expect(page).toHaveScreenshot('staff-page.png', { - fullPage: true, - animations: 'disabled', - }); - }); test('Sales Report Page', async ({ page }) => { await page.goto('/reports/sales'); @@ -119,4 +110,4 @@ test.describe('Interactive Elements', () => { animations: 'disabled', }); }); -}); \ No newline at end of file +}); From 2ecbd8456fc04820f4800fe15aa83e3809c18d5f Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 10:28:47 +0000 Subject: [PATCH 04/10] fix: Remove staff references from templates to fix visual regression tests Co-Authored-By: Atsumi3 --- src/main/resources/templates/index-modern.html | 9 +-------- src/main/resources/templates/sales/index.html | 1 - 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/src/main/resources/templates/index-modern.html b/src/main/resources/templates/index-modern.html index d412a27..f84d3ed 100644 --- a/src/main/resources/templates/index-modern.html +++ b/src/main/resources/templates/index-modern.html @@ -47,13 +47,6 @@

    -
    -
    -
    0
    -
    スタッフ数
    - -
    -
    @@ -160,4 +153,4 @@

    }); - \ No newline at end of file + diff --git a/src/main/resources/templates/sales/index.html b/src/main/resources/templates/sales/index.html index 9e1eaae..64db400 100644 --- a/src/main/resources/templates/sales/index.html +++ b/src/main/resources/templates/sales/index.html @@ -80,7 +80,6 @@

    +0%
    取引ID 店舗 - スタッフ 数量 合計金額 受取金額 From beeed8be2198fbacd08a31a94700b5c0e7c664b6 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 10:40:41 +0000 Subject: [PATCH 05/10] fix: Change h4 to h1 elements in templates to fix visual regression test timeouts Co-Authored-By: Atsumi3 --- src/main/resources/templates/items/index.html | 4 ++-- src/main/resources/templates/reports/sales.html | 6 +++--- src/main/resources/templates/sales/index.html | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/resources/templates/items/index.html b/src/main/resources/templates/items/index.html index a8bd508..93eeb96 100644 --- a/src/main/resources/templates/items/index.html +++ b/src/main/resources/templates/items/index.html @@ -26,10 +26,10 @@
    -

    +

    商品管理 -

    + 新規作成 diff --git a/src/main/resources/templates/reports/sales.html b/src/main/resources/templates/reports/sales.html index 4f00480..30e95df 100644 --- a/src/main/resources/templates/reports/sales.html +++ b/src/main/resources/templates/reports/sales.html @@ -25,10 +25,10 @@
    -

    +

    売上レポート -

    +
    @@ -255,4 +255,4 @@
    月次レポート
    /*]]>*/ - \ No newline at end of file + diff --git a/src/main/resources/templates/sales/index.html b/src/main/resources/templates/sales/index.html index 64db400..07d80a9 100644 --- a/src/main/resources/templates/sales/index.html +++ b/src/main/resources/templates/sales/index.html @@ -26,10 +26,10 @@
    -

    +

    売上管理 -

    +
    + \ No newline at end of file diff --git a/src/main/resources/templates/items/index.html b/src/main/resources/templates/items/index.html index 93eeb96..f2d2afc 100644 --- a/src/main/resources/templates/items/index.html +++ b/src/main/resources/templates/items/index.html @@ -41,9 +41,9 @@

    - +

    @@ -161,6 +161,36 @@

    printButton.disabled = !anyChecked; } + // PDF出力ボタン + const downloadPdfButton = document.getElementById('downloadPdf'); + downloadPdfButton.addEventListener('click', function () { + fetch('/api/item/barcode-pdf') + .then(response => { + if (!response.ok) { + throw new Error('PDF生成に失敗しました'); + } + return response.blob(); + }) + .then(blob => { + // PDFをダウンロード + const url = window.URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = 'barcodes.pdf'; + document.body.appendChild(a); + a.click(); + window.URL.revokeObjectURL(url); + document.body.removeChild(a); + }) + .catch(error => { + if (window.Swal) { + Swal.fire('エラー', error.message, 'error'); + } else { + alert('エラー: ' + error.message); + } + }); + }); + // 選択した商品を印刷 printButton.addEventListener('click', function () { const selectedIds = []; diff --git a/src/main/resources/templates/items/new.html b/src/main/resources/templates/items/new.html index d4c10bd..9ce0d28 100644 --- a/src/main/resources/templates/items/new.html +++ b/src/main/resources/templates/items/new.html @@ -40,12 +40,18 @@

    - - -
    バーコードは8〜13桁の数字で入力してください(任意)
    + +
    + A01 + + A +
    + +
    6桁の数字を入力(空欄で自動生成、例: 000001 → A01000001A)
    @@ -73,5 +79,26 @@

    + \ No newline at end of file From 5e41f15143b888929adc72e19c8d7850d0271e8b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 3 Oct 2025 08:02:47 +0000 Subject: [PATCH 10/10] chore: update visual regression snapshots --- .../items-page-chromium-linux.png | Bin 23471 -> 31102 bytes .../mobile-sales-report-chromium-linux.png | Bin 45377 -> 47588 bytes .../sales-page-chromium-linux.png | Bin 34649 -> 37396 bytes .../sales-report-page-chromium-linux.png | Bin 46500 -> 48272 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/vrt/pages.spec.ts-snapshots/items-page-chromium-linux.png b/tests/vrt/pages.spec.ts-snapshots/items-page-chromium-linux.png index 0af5a391833a630b8e55b9f45cd470276f0bcb13..abb75b4452db17bd56568ba5b14b1a13f0ba88be 100644 GIT binary patch literal 31102 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 literal 23471 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 OKvH7zq9wuxzW)c#O_iYl literal 45377 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 diff --git a/tests/vrt/pages.spec.ts-snapshots/sales-page-chromium-linux.png b/tests/vrt/pages.spec.ts-snapshots/sales-page-chromium-linux.png index 3e7f13beff878611e9b3c9f24f7b6d39fce0209d..a79f94c027087f971e667e4a66e1be6a3f77b74e 100644 GIT binary patch literal 37396 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 Rj%&eFc%$;V_?5}W{|C@;6Mg^y diff --git a/tests/vrt/pages.spec.ts-snapshots/sales-report-page-chromium-linux.png b/tests/vrt/pages.spec.ts-snapshots/sales-report-page-chromium-linux.png index ecd6affa7aab7483d59f18e3d04e8c57c622eac8..92aae188d8c070cbfc37b49b9c6112b540c1df5f 100644 GIT binary patch literal 48272 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 XDb*#?F76)f^?1t3D8DL}GXD54U6a-N literal 46500 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∾CRI~->_M}tD0?l7-`c3p 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 Mr}Cmq#yIHT0L=6jZ2$lO