Skip to content

Commit ce81655

Browse files
authored
Merge pull request #39 from touchmegit1:shift
feat: Update sidebar label for payroll section and enhance seed scripts with sale_order_histories count
2 parents 49b0a46 + 9c68a74 commit ce81655

File tree

5 files changed

+11
-6
lines changed

5 files changed

+11
-6
lines changed

backend/run-seed.cmd

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ call :query_scalar "SELECT COUNT(*) FROM product_variants;" VARIANTS_COUNT
9292
call :query_scalar "SELECT COUNT(*) FROM inventory_stock;" STOCK_COUNT
9393
call :query_scalar "SELECT COUNT(*) FROM sale_orders;" SALE_ORDERS_COUNT
9494
call :query_scalar "SELECT COUNT(*) FROM sale_order_items;" SALE_ORDER_ITEMS_COUNT
95+
call :query_scalar "SELECT COUNT(*) FROM sale_order_histories;" SALE_ORDER_HISTORIES_COUNT
9596
call :query_scalar "SELECT COUNT(*) FROM tickets;" TICKETS_COUNT
9697
call :query_scalar "SELECT COUNT(*) FROM loyalty_gifts;" LOYALTY_GIFTS_COUNT
9798
call :query_scalar "SELECT COUNT(*) FROM product_variants pv LEFT JOIN products p ON p.id = pv.product_id LEFT JOIN units u ON u.id = pv.unit_id WHERE p.id IS NOT NULL AND u.id IS NOT NULL;" JOINABLE_VARIANTS_COUNT
@@ -105,6 +106,7 @@ if not defined VARIANTS_COUNT set "VARIANTS_COUNT=0"
105106
if not defined STOCK_COUNT set "STOCK_COUNT=0"
106107
if not defined SALE_ORDERS_COUNT set "SALE_ORDERS_COUNT=0"
107108
if not defined SALE_ORDER_ITEMS_COUNT set "SALE_ORDER_ITEMS_COUNT=0"
109+
if not defined SALE_ORDER_HISTORIES_COUNT set "SALE_ORDER_HISTORIES_COUNT=0"
108110
if not defined TICKETS_COUNT set "TICKETS_COUNT=0"
109111
if not defined LOYALTY_GIFTS_COUNT set "LOYALTY_GIFTS_COUNT=0"
110112
if not defined JOINABLE_VARIANTS_COUNT set "JOINABLE_VARIANTS_COUNT=0"
@@ -114,7 +116,7 @@ if not defined STOCKED_VARIANTS_COUNT set "STOCKED_VARIANTS_COUNT=0"
114116

115117
echo [INFO] Seed verification counts:
116118
echo users=%USERS_COUNT%, products=%PRODUCTS_COUNT%, variants=%VARIANTS_COUNT%, inventory_stock=%STOCK_COUNT%
117-
echo sale_orders=%SALE_ORDERS_COUNT%, sale_order_items=%SALE_ORDER_ITEMS_COUNT%, tickets=%TICKETS_COUNT%, loyalty_gifts=%LOYALTY_GIFTS_COUNT%
119+
echo sale_orders=%SALE_ORDERS_COUNT%, sale_order_items=%SALE_ORDER_ITEMS_COUNT%, sale_order_histories=%SALE_ORDER_HISTORIES_COUNT%, tickets=%TICKETS_COUNT%, loyalty_gifts=%LOYALTY_GIFTS_COUNT%
118120
echo joinable_variants=%JOINABLE_VARIANTS_COUNT%, orphan_product_refs=%ORPHAN_PRODUCT_REFS%, orphan_unit_refs=%ORPHAN_UNIT_REFS%, stocked_variants=%STOCKED_VARIANTS_COUNT%
119121

120122
if "%USERS_COUNT%"=="0" goto :seed_invalid
@@ -123,6 +125,7 @@ if "%VARIANTS_COUNT%"=="0" goto :seed_invalid
123125
if "%STOCK_COUNT%"=="0" goto :seed_invalid
124126
if "%SALE_ORDERS_COUNT%"=="0" goto :seed_invalid
125127
if "%SALE_ORDER_ITEMS_COUNT%"=="0" goto :seed_invalid
128+
if "%SALE_ORDER_HISTORIES_COUNT%"=="0" goto :seed_invalid
126129
if "%TICKETS_COUNT%"=="0" goto :seed_invalid
127130
if "%LOYALTY_GIFTS_COUNT%"=="0" goto :seed_invalid
128131
if "%JOINABLE_VARIANTS_COUNT%"=="0" goto :seed_invalid

deploy/fix_seed.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ INSERT INTO `sale_orders` (id,created_at,discount_amount,notes,order_code,order_
199199
INSERT INTO `sale_order_items` (id,line_discount_amount,line_tax_amount,line_total_amount,notes,product_name,quantity,sku,unit_price,sale_order_id,product_variant_id) VALUES (2,0.00,2400.00,26400.00,NULL,'Oishi Snack',3,'OISHI-50G',8000.00,1,5),(3,2000.00,4800.00,52800.00,NULL,'Fresh Milk 1L',2,'VMILK-1L',25000.00,2,1),(4,3000.00,4500.00,46500.00,NULL,'Nescafe 3in1',1,'NESCAFE-200G',45000.00,2,3),(5,0.00,3000.00,33000.00,'1 sản phẩm bị lỗi vỏ hộp','Dove Soap 90g',2,'DOVE-90G',15000.00,3,2),(6,0.00,0.00,175000.00,'Migrated from legacy sales_order_items','Fresh Milk 1L',7,'VMILK-1L',25000.00,4,1),(7,0.00,0.00,95000.00,'Migrated from legacy sales_order_items','Dove Soap 90g',4,'DOVE-90G',23750.00,5,2),(8,0.00,0.00,57999.96,'Migrated from legacy sales_order_items','Nescafe 3in1',12,'NESCAFE-200G',4833.33,6,3),(10,0.00,0.00,67000.00,'Migrated from legacy sales_order_items','Oishi Snack',5,'OISHI-50G',13400.00,8,5),(12,0.00,0.00,24000.00,NULL,'Oishi Snack',3,'OISHI-50G',8000.00,9,5),(13,0.00,0.00,50000.00,NULL,'Fresh Milk 1L',2,'VMILK-1L',25000.00,10,1),(14,0.00,0.00,45000.00,NULL,'Nescafe 3in1',1,'NESCAFE-200G',45000.00,10,3),(15,0.00,0.00,30000.00,NULL,'Dove Soap 90g',2,'DOVE-90G',15000.00,11,2),(16,0.00,0.00,25000.00,NULL,'Fresh Milk 1L',1,'VMILK-1L',25000.00,12,1),(18,0.00,0.00,32000.00,NULL,'Oishi Snack',4,'OISHI-50G',8000.00,13,5),(20,0.00,0.00,15000.00,NULL,'Dove Soap 90g',1,'DOVE-90G',15000.00,14,2),(21,0.00,0.00,75000.00,NULL,'Fresh Milk 1L',3,'VMILK-1L',25000.00,15,1),(22,0.00,0.00,90000.00,NULL,'Nescafe 3in1',2,'NESCAFE-200G',45000.00,15,3),(23,0.00,0.00,40000.00,NULL,'Oishi Snack',5,'OISHI-50G',8000.00,16,5),(24,0.00,0.00,50000.00,NULL,'Fresh Milk 1L',2,'VMILK-1L',25000.00,17,1),(25,0.00,0.00,45000.00,NULL,'Dove Soap 90g',3,'DOVE-90G',15000.00,17,2);
200200

201201
-- 20. SALE ORDER HISTORIES
202-
INSERT INTO `sale_order_histories` VALUES (1,'CREATED','Khởi tạo đơn tại POS-001','2026-02-24 09:30:00.000000',NULL,'PENDING',3,1),(2,'PAYMENT_SUCCESS','Thanh toán tiền mặt thành công','2026-02-24 09:31:00.000000','PENDING','COMPLETED',3,1),(3,'CREATED','Khởi tạo đơn tại POS-001','2026-02-24 19:20:00.000000',NULL,'PENDING',3,2),(4,'PAYMENT_SUCCESS','Thanh toán thẻ thành công','2026-02-24 19:23:00.000000','PENDING','COMPLETED',3,2),(5,'CREATED','Khởi tạo đơn tại POS-002','2026-02-25 20:10:00.000000',NULL,'PENDING',3,3),(6,'PAYMENT_SUCCESS','Thanh toán ví điện tử thành công','2026-02-25 20:15:00.000000','PENDING','COMPLETED',3,3),(7,'REFUND_PARTIAL','Khách trả lại sản phẩm lỗi','2026-02-25 21:00:00.000000','COMPLETED','REFUNDED',2,3);
202+
INSERT INTO `sale_order_histories` (id,action_type,change_notes,changed_at,from_status,to_status,changed_by_user_id,sale_order_id) VALUES (1,'CREATED','Khởi tạo đơn tại POS-001','2026-02-24 09:30:00.000000',NULL,'PENDING',3,1),(2,'PAYMENT_SUCCESS','Thanh toán tiền mặt thành công','2026-02-24 09:31:00.000000','PENDING','COMPLETED',3,1),(3,'CREATED','Khởi tạo đơn tại POS-001','2026-02-24 19:20:00.000000',NULL,'PENDING',3,2),(4,'PAYMENT_SUCCESS','Thanh toán thẻ thành công','2026-02-24 19:23:00.000000','PENDING','COMPLETED',3,2),(5,'CREATED','Khởi tạo đơn tại POS-002','2026-02-25 20:10:00.000000',NULL,'PENDING',3,3),(6,'PAYMENT_SUCCESS','Thanh toán ví điện tử thành công','2026-02-25 20:15:00.000000','PENDING','COMPLETED',3,3),(7,'REFUND_PARTIAL','Khách trả lại sản phẩm lỗi','2026-02-25 21:00:00.000000','COMPLETED','REFUNDED',2,3);
203203

204204
-- 20.1 CASH TRANSACTIONS
205205
INSERT INTO `cash_transactions` (id,amount,transaction_time,balance_after,balance_before,created_at,description,notes,reason,receipt_image_url,status,transaction_code,approved_at,transaction_type,updated_at,register_id,approved_by,performed_by,order_id) VALUES (1,53900.00,'2026-02-24 09:35:00.000000',5053900.00,5000000.00,'2026-03-18 01:40:09.000000','Thu tiền mặt từ đơn SO-20260224-001','Đã đối soát cuối ca','SALE',NULL,'COMPLETED','CT-20260224-001','2026-02-24 09:31:00.000000','CASH_IN','2026-03-18 01:40:09.000000',2,1,3,1),(2,15000.00,'2026-02-25 21:05:00.000000',2985000.00,3000000.00,'2026-03-18 01:40:09.000000','Hoàn tiền mặt 1 phần cho đơn SO-20260225-001','Refund do sản phẩm lỗi','REFUND',NULL,'COMPLETED','CT-20260225-001','2026-02-25 21:00:00.000000','CASH_OUT','2026-03-18 01:40:09.000000',2,2,3,3);

deploy/gen_fix_seed.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ const COLUMN_MAPS = {
2828
"cash_registers": "id,created_at,max_cash_limit,device_id,current_cash,notes,location,total_card_today,total_cash_today,opening_balance,register_code,register_name,register_type,session_start_time,status,store_name,total_sales_today,total_transactions_today,variance,expected_balance,updated_at,last_transaction_time,current_operator_id",
2929
"sale_orders": "id,created_at,discount_amount,notes,order_code,order_date,payment_method,status,subtotal,tax_amount,total_amount,updated_at,cash_register_id,cashier_id,customer_id",
3030
"sale_order_items": "id,line_discount_amount,line_tax_amount,line_total_amount,notes,product_name,quantity,sku,unit_price,sale_order_id,product_variant_id",
31+
"sale_order_histories": "id,action_type,change_notes,changed_at,from_status,to_status,changed_by_user_id,sale_order_id",
3132
"user_credentials": "id,password_hash,username,user_id",
3233
"purchase_order_items": "id,expiry_date,notes,quantity,received_quantity,total_cost,unit_price,variant_id,purchase_order_id"
3334
};

deploy/scripts/reset-db-and-seed.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,9 +162,10 @@ verify_core_counts() {
162162
STOCK_COUNT="$(count_table inventory_stock)"
163163
SALE_ORDERS_COUNT="$(count_table sale_orders)"
164164
SALE_ORDER_ITEMS_COUNT="$(count_table sale_order_items)"
165+
SALE_ORDER_HISTORIES_COUNT="$(count_table sale_order_histories)"
165166
TICKETS_COUNT="$(count_table tickets)"
166167
LOYALTY_GIFTS_COUNT="$(count_table loyalty_gifts)"
167-
echo "users=$USERS_COUNT, products=$PRODUCTS_COUNT, variants=$VARIANTS_COUNT, inventory_stock=$STOCK_COUNT, sale_orders=$SALE_ORDERS_COUNT, sale_order_items=$SALE_ORDER_ITEMS_COUNT, tickets=$TICKETS_COUNT, loyalty_gifts=$LOYALTY_GIFTS_COUNT"
168+
echo "users=$USERS_COUNT, products=$PRODUCTS_COUNT, variants=$VARIANTS_COUNT, inventory_stock=$STOCK_COUNT, sale_orders=$SALE_ORDERS_COUNT, sale_order_items=$SALE_ORDER_ITEMS_COUNT, sale_order_histories=$SALE_ORDER_HISTORIES_COUNT, tickets=$TICKETS_COUNT, loyalty_gifts=$LOYALTY_GIFTS_COUNT"
168169
}
169170

170171
verify_core_integrity() {
@@ -292,7 +293,7 @@ log "10/10" "Final verification"
292293
verify_core_counts
293294
verify_core_integrity
294295

295-
if [ "$USERS_COUNT" = "0" ] || [ "$PRODUCTS_COUNT" = "0" ] || [ "$VARIANTS_COUNT" = "0" ] || [ "$STOCK_COUNT" = "0" ] || [ "$SALE_ORDERS_COUNT" = "0" ] || [ "$SALE_ORDER_ITEMS_COUNT" = "0" ] || [ "$TICKETS_COUNT" = "0" ] || [ "$LOYALTY_GIFTS_COUNT" = "0" ]; then
296+
if [ "$USERS_COUNT" = "0" ] || [ "$PRODUCTS_COUNT" = "0" ] || [ "$VARIANTS_COUNT" = "0" ] || [ "$STOCK_COUNT" = "0" ] || [ "$SALE_ORDERS_COUNT" = "0" ] || [ "$SALE_ORDER_ITEMS_COUNT" = "0" ] || [ "$SALE_ORDER_HISTORIES_COUNT" = "0" ] || [ "$TICKETS_COUNT" = "0" ] || [ "$LOYALTY_GIFTS_COUNT" = "0" ]; then
296297
log "ERROR" "Seed finished but one or more critical tables are empty."
297298
exit 1
298299
fi

frontend/src/components/layout/Sidebar.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,13 +93,13 @@ const Sidebar = ({ collapsed, onToggleSidebar }) => {
9393
{ label: "Lịch làm việc chung", path: "/hr/schedule" },
9494
{ label: "Phân ca làm việc", path: "/hr/shifts" },
9595
{ label: "Trung tâm ticket", path: "/hr/ticket-processing" },
96-
{ label: "Tổng hợp cá nhân & lương", path: "/hr/my-payroll" },
96+
{ label: "Lương của tôi", path: "/hr/my-payroll" },
9797
]
9898
: [
9999
{ label: "Lịch làm việc chung", path: "/hr/schedule" },
100100
{ label: "Trung tâm ticket", path: "/hr/ticket-processing" },
101101
{ label: "Chấm công", path: "/hr/my-attendance" },
102-
{ label: "Tổng hợp cá nhân & lương", path: "/hr/my-payroll" },
102+
{ label: "Lương của tôi", path: "/hr/my-payroll" },
103103
];
104104

105105
const navItems = showBusinessMenu

0 commit comments

Comments
 (0)