Skip to content

Commit 771b749

Browse files
committed
Merge pull request #151 from diepxuan/fix/phieubaono-undefined-cact3
fix: undefined variable $caCt3 in Phieubaono loadPhieu
1 parent a6c9295 commit 771b749

2 files changed

Lines changed: 97 additions & 24 deletions

File tree

src/StoredProcedures/AsCAGetPH2.php

Lines changed: 95 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* @author Tran Ngoc Duc <ductn@diepxuan.com>
99
* @author Tran Ngoc Duc <caothu91@gmail.com>
1010
*
11-
* @lastupdate 2026-04-06 18:47:51
11+
* @lastupdate 2026-04-12 17:19:23
1212
*/
1313

1414
namespace Diepxuan\Simba\StoredProcedures;
@@ -20,54 +20,127 @@
2020
/**
2121
* Class AsCAGetPH2.
2222
*
23-
* Stored procedure: asCAGetPH2
24-
* Mục đích: Lấy danh sách phiếu hàng 2 (PH2) từ hệ thống Simba.
25-
* Procedure trả về danh sách các phiếu hàng loại 2 được sử dụng trong quản lý kho.
23+
* Stored procedure: `asCAGetPH2`
2624
*
27-
* Tham số:
28-
* - Không có tham số đầu vào.
25+
* ## Mục đích
2926
*
30-
* Giá trị trả về:
31-
* - Collection chứa danh sách phiếu hàng 2 với các trường thông tin liên quan.
27+
* Lấy thông tin phiếu hàng 2 (PH2) từ hệ thống Simba.
28+
* Procedure trả về danh sách các phiếu thuộc bảng CA_PH2 (Cash Phiếu 2).
29+
*
30+
* ## Parameters (theo SQL Server)
31+
*
32+
* | Name | Type | Required | Description |
33+
* |------|------|----------|-------------|
34+
* | `@pMa_cty` | nvarchar(3) | ❌ | Mã công ty |
35+
* | `@pStt_rec` | nvarchar(20) | ❌ | Số tham chiếu (stt_rec) cần lấy |
36+
*
37+
* ## Fields trả về
38+
*
39+
* Procedure trả về Collection với các fields từ bảng `CA_PH2`:
40+
*
41+
* | Field | Kiểu | Diễn giải |
42+
* |-------|------|-----------|
43+
* | `ma_cty` | string(3) | Mã công ty |
44+
* | `stt_rec` | string(20) | Số thứ tự bản ghi (PK) |
45+
* | `ma_ct` | string(3) | Mã chứng từ (CA1, CA2, CA3, CA4, CA5, CA6) |
46+
* | `so_ct` | string(20) | Số chứng từ |
47+
* | `ngay_ct` | datetime | Ngày chứng từ |
48+
* | `ngay_lct` | datetime | Ngày lập chứng từ |
49+
* | `kht_tain` | boolean | Kế hoạch tài chính |
50+
* | `ma_kh` | string(20) | Mã khách hàng |
51+
* | `dia_chi` | string(255) | Địa chỉ |
52+
* | `nguoi_gd` | string(30) | Người giao dịch |
53+
* | `dien_giai` | string(255) | Diễn giải |
54+
* | `tk_co` | string(20) | Tài khoản Có |
55+
* | `ma_nt` | string(3) | Mã ngoại tệ |
56+
* | `ty_gia` | float | Tỷ giá |
57+
* | `t_tien` | float | Tổng tiền VNĐ |
58+
* | `t_tien_nt` | float | Tổng tiền ngoại tệ |
59+
* | `t_thue_nt` | float | Thuế ngoại tệ |
60+
* | `t_thue` | float | Thuế VNĐ |
61+
* | `t_tt` | float | Tổng thanh toán VNĐ |
62+
* | `t_tt_nt` | float | Tổng thanh toán ngoại tệ |
63+
* | `stt_rec_hd` | string(20) | STT rec hóa đơn |
64+
* | `trang_thai` | string | Trạng thái |
65+
* | `post2gl` | string | Đã post GL chưa |
66+
* | `cdate` | datetime | Ngày tạo |
67+
* | `cuser` | string | Người tạo |
68+
* | `ldate` | datetime | Ngày sửa |
69+
* | `luser` | string | Người sửa |
70+
*
71+
* ## Ví dụ sử dụng
3272
*
33-
* Ví dụ gọi:
3473
* ```php
35-
* // Sử dụng method call()
36-
* $result = AsCAGetPH2::call([]);
74+
* use Diepxuan\Simba\StoredProcedures\AsCAGetPH2;
75+
*
76+
* // 1. Lấy 1 phiếu theo stt_rec
77+
* $phieu = AsCAGetPH2::call([
78+
* 'pStt_rec' => '001wCA40000000676570',
79+
* ])->first();
3780
*
38-
* // Sử dụng method callWithParams()
39-
* $result = AsCAGetPH2::callWithParams();
81+
* // 2. Lấy tất cả phiếu của công ty
82+
* $allPhieu = AsCAGetPH2::call([
83+
* 'pMa_cty' => '001',
84+
* ]);
85+
*
86+
* // 3. Lấy tất cả phiếu (không filter)
87+
* $allPhieu = AsCAGetPH2::call([]);
88+
*
89+
* // 4. Gọi với callWithParams()
90+
* $phieu = AsCAGetPH2::callWithParams(
91+
* Ma_cty: '001',
92+
* Stt_rec: '001wCA40000000676570'
93+
* )->first();
4094
* ```
4195
*
42-
* Lưu ý:
43-
* - Procedure thuộc nhóm Get (asCAGet*), không có output parameter.
44-
* - Sử dụng method callWithParams() để gọi với các tham số đặt tên (nếu có trong tương lai).
96+
* ## Lưu ý
97+
*
98+
* - Procedure thuộc nhóm Get (`asCAGet*`), không có output parameter
99+
* - Kết quả trả về là Laravel Collection
100+
* - Nếu không truyền params → trả về tất cả phiếu
101+
* - Dùng `pStt_rec` để filter theo 1 phiếu cụ thể
102+
* - Dùng `pMa_cty` để filter theo công ty
103+
*
104+
* ## Tham chiếu
105+
*
106+
* - Bảng: `CA_PH2`
107+
* - Procedure liên quan: `asCAGetCT2` (lấy chi tiết phiếu)
45108
*/
46109
class AsCAGetPH2
47110
{
48111
/**
49112
* Gọi stored procedure asCAGetPH2.
50113
*
51-
* @param array $params mảng tham số (hiện tại không sử dụng)
114+
* @param array $params Mảng tham số với các khóa: pMa_cty, pStt_rec
52115
*
53-
* @return Collection kết quả trả về từ procedure
116+
* @return Collection kết quả từ procedure
54117
*/
55118
public static function call(array $params): Collection
56119
{
57120
$paramObj = ParamHelper::fromArray($params);
58121
$connection = (new SModel())->getConnectionName();
59122

60123
return ProcedureCaller::call('asCAGetPH2', [
124+
'pMa_cty' => $paramObj->pMa_cty ?? null,
125+
'pStt_rec' => $paramObj->pStt_rec ?? null,
61126
], $connection);
62127
}
63128

64129
/**
65130
* Call stored procedure asCAGetPH2 with named parameters.
66131
*
67-
* @return Collection kết quả trả về từ procedure
132+
* @param null|string $Ma_cty Mã công ty
133+
* @param null|string $Stt_rec Số tham chiếu
134+
*
135+
* @return Collection Kết quả từ procedure
68136
*/
69-
public static function callWithParams(): Collection
70-
{
71-
return self::call([]);
137+
public static function callWithParams(
138+
?string $Ma_cty = null,
139+
?string $Stt_rec = null,
140+
): Collection {
141+
return self::call([
142+
'pMa_cty' => $Ma_cty,
143+
'pStt_rec' => $Stt_rec,
144+
]);
72145
}
73146
}

src/StoredProcedures/ProcedureCaller.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* @author Tran Ngoc Duc <ductn@diepxuan.com>
99
* @author Tran Ngoc Duc <caothu91@gmail.com>
1010
*
11-
* @lastupdate 2026-04-07 13:49:23
11+
* @lastupdate 2026-04-12 16:59:27
1212
*/
1313

1414
namespace Diepxuan\Simba\StoredProcedures;
@@ -105,7 +105,7 @@ public static function call(string $name, array $params = [], ?string $connectio
105105
}
106106
}
107107

108-
\Debugbar::info('ProcedureCaller result:', $rows);
108+
\Debugbar::info("ProcedureCaller {$name} result: ", $rows);
109109

110110
return collect($rows);
111111
}

0 commit comments

Comments
 (0)