From a1ca36811b121dd028e8bce4e751613981c5bf25 Mon Sep 17 00:00:00 2001 From: "CANCERYS\\kw093" Date: Wed, 5 Aug 2026 18:57:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=AB=E5=AD=98=E8=AA=BF=E6=95=B4=E6=AC=8A?= =?UTF-8?q?=E9=99=90=20=E7=9B=A4=E9=BB=9E=E5=8D=A1=E7=89=87=E7=B5=B1?= =?UTF-8?q?=E8=A8=88=20=E3=80=8C=E6=9C=AA=E6=8C=89=E8=A6=8F=E5=8A=83?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E3=80=8D=E7=A7=BB=E5=88=B0=20tab=20=E5=88=97?= =?UTF-8?q?=E6=9C=80=E5=BE=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ffii/fpsms/config/security/SecurityConfig.java | 8 ++++++-- .../modules/stock/entity/InventoryLotLineRepository.kt | 4 ++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ffii/fpsms/config/security/SecurityConfig.java b/src/main/java/com/ffii/fpsms/config/security/SecurityConfig.java index 5ce0bc9..842f330 100644 --- a/src/main/java/com/ffii/fpsms/config/security/SecurityConfig.java +++ b/src/main/java/com/ffii/fpsms/config/security/SecurityConfig.java @@ -74,7 +74,11 @@ public class SecurityConfig { return new BCryptPasswordEncoder(); } - /** FP-MTMS Version Checklist | Functions Ref. No. 51 | v1.0.0 | 2026-08-05 */ + /** + * FP-MTMS Version Checklist | Functions Ref. No. 51 | v1.0.0 | 2026-08-05 + * FP-MTMS Version Checklist | Functions Ref. No. 3 | v1.0.5 | 2026-08-05 + * (stockAdjustment/submit → INVENTORY_ADJUST only) + */ @Bean @Order(1) public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { @@ -113,7 +117,7 @@ public class SecurityConfig { .requestMatchers(HttpMethod.GET, "/label-printer-monitor/odometer-stats") .hasAnyAuthority("TESTING", "ADMIN") .requestMatchers(HttpMethod.POST, "/stockAdjustment/submit") - .hasAnyAuthority("ADMIN", "INVENTORY_ADJUST") + .hasAuthority("INVENTORY_ADJUST") .requestMatchers(HttpMethod.GET, "/inventoryLotLine/trace") .hasAuthority("ITEM_TRACING") .requestMatchers(HttpMethod.GET, "/inventoryLotLine/trace/location/**") diff --git a/src/main/java/com/ffii/fpsms/modules/stock/entity/InventoryLotLineRepository.kt b/src/main/java/com/ffii/fpsms/modules/stock/entity/InventoryLotLineRepository.kt index a7bb2a4..b2b190f 100644 --- a/src/main/java/com/ffii/fpsms/modules/stock/entity/InventoryLotLineRepository.kt +++ b/src/main/java/com/ffii/fpsms/modules/stock/entity/InventoryLotLineRepository.kt @@ -196,19 +196,23 @@ WHERE ill.id = :id fun findAllByWarehouseCodeAndDeletedIsFalse(@Param("warehouseCode") warehouseCode: String): List + /** FP-MTMS Version Checklist | Functions Ref. No. 53 | v1.0.0 | 2026-08-05 — 卡片「貨品種類數量」:僅 available,與明細 fallback / 預建來源一致 */ @Query(""" SELECT COUNT(DISTINCT ill.inventoryLot.item.id) FROM InventoryLotLine ill WHERE ill.warehouse.id IN :warehouseIds AND ill.deleted = false + AND ill.status = 'available' """) fun countDistinctItemsByWarehouseIds(@Param("warehouseIds") warehouseIds: List): Long + /** FP-MTMS Version Checklist | Functions Ref. No. 53 | v1.0.0 | 2026-08-05 — 卡片 lot 筆數:僅 available */ @Query(""" SELECT COUNT(ill.id) FROM InventoryLotLine ill WHERE ill.warehouse.id IN :warehouseIds AND ill.deleted = false + AND ill.status = 'available' """) fun countAllByWarehouseIds(@Param("warehouseIds") warehouseIds: List): Long