Skip to content

Commit 79b52c7

Browse files
committed
Merge pull request #140 from diepxuan/docs/stored-procedures-ins-2
docs: bổ sung documentation cho 4 file AsCAIns* còn lại
1 parent 6f0a19f commit 79b52c7

13 files changed

Lines changed: 1172 additions & 101 deletions

src/StoredProcedures/AsCADelCDKU.php

Lines changed: 43 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,15 @@
88
* @author Tran Ngoc Duc <ductn@diepxuan.com>
99
* @author Tran Ngoc Duc <caothu91@gmail.com>
1010
*
11-
* @lastupdate 2026-02-25 15:28:39
11+
* @lastupdate 2026-04-06 08:15:16
1212
*/
1313

1414
namespace Diepxuan\Simba\StoredProcedures;
1515

16+
use Diepxuan\Simba\Helper\ParamHelper;
1617
use Diepxuan\Simba\SModel\SModel;
1718
use Illuminate\Support\Collection;
18-
use Diepxuan\Simba\Helper\ParamHelper;
19+
1920
/**
2021
* Class AsCADelCDKU.
2122
*
@@ -24,15 +25,18 @@
2425
* Procedure thực hiện xóa các bản ghi trong bảng cacdku (chi tiết khế ước) thỏa mãn điều kiện.
2526
* Trả về kết quả qua output parameter @pRet: 0 nếu xóa thành công, khác 0 nếu có lỗi (mã lỗi SQL).
2627
*
27-
* Tham số:
28-
* - @pMa_cty (string, bắt buộc): Mã công ty (3 ký tự).
29-
* - @pNam (int, bắt buộc): Năm của khế ước.
30-
* - @pMa_ku (string, bắt buộc): Mã khế ước (20 ký tự).
31-
* - @pRet (int, output): Kết quả trả về. 0 thành công, khác 0 lỗi.
28+
* Tham số (theo định nghĩa thực tế trong SQL Server):
29+
* - @pMa_cty (nvarchar(3)): Mã công ty. Bắt buộc.
30+
* - @pNam (int): Năm của khế ước. Bắt buộc.
31+
* - @pMa_ku (nvarchar(20)): Mã khế ước. Bắt buộc.
32+
* - @pRet (int, OUTPUT): Tham số đầu ra chứa mã lỗi (@@error).
33+
* - 0: Thành công.
34+
* - Khác 0: Mã lỗi SQL Server.
3235
*
3336
* Giá trị trả về:
34-
* - Procedure không trả về resultset, chỉ thiết lập giá trị output parameter @pRet.
35-
* - Cần đọc giá trị @pRet sau khi gọi để kiểm tra lỗi.
37+
* - Procedure không trả về result set.
38+
* - Kết quả được trả về qua output parameter @pRet.
39+
* - Để lấy giá trị @pRet, cần đọc từ result của ProcedureCaller (có SELECT @pRet).
3640
*
3741
* Ví dụ gọi:
3842
* ```php
@@ -41,38 +45,63 @@
4145
* 'pNam' => 2025,
4246
* 'pMa_ku' => 'KU001',
4347
* ]);
48+
*
4449
* // Lấy giá trị output parameter
45-
* $ret = $result['pRet'] ?? null;
50+
* $ret = $result->first()->pRet ?? null;
4651
* if ($ret === 0) {
4752
* // Xóa thành công
4853
* } else {
49-
* // Có lỗi xảy ra
54+
* // Có lỗi xảy ra, $ret chứa mã lỗi
5055
* }
5156
* ```
5257
*
5358
* Lưu ý:
5459
* - Procedure sử dụng TRY...CATCH để bắt lỗi SQL.
5560
* - Xóa tất cả chi tiết khế ước của một năm và mã khế ước cụ thể.
5661
* - Bảng cacdku lưu trữ chi tiết khế ước (có thể bao gồm các khoản vay, trả nợ).
62+
* - Output parameter @pRet được xử lý tự động bởi ProcedureCaller.
5763
*/
5864
class AsCADelCDKU
5965
{
6066
/**
6167
* Gọi stored procedure asCADelCDKU.
6268
*
63-
* @param array $params mảng tham số với các khóa tương ứng tên tham số (có thể có tiền tố '@' hoặc không)
69+
* @param array $params Mảng tham số với các khóa tương ứng tên tham số.
70+
* Các parameters có thể thiếu, sẽ dùng giá trị default.
6471
*
65-
* @return mixed kết quả trả về từ procedure (có thể chứa output parameter)
72+
* @return Collection kết quả từ procedure (chứa output parameter pRet)
6673
*/
6774
public static function call(array $params): Collection
6875
{
69-
$paramObj = ParamHelper::fromArray($params);
76+
$paramObj = ParamHelper::fromArray($params);
7077
$connection = (new SModel())->getConnectionName();
7178

7279
return ProcedureCaller::call('asCADelCDKU', [
7380
'pMa_cty' => $paramObj->pMa_cty ?? null,
7481
'pNam' => $paramObj->pNam ?? null,
7582
'pMa_ku' => $paramObj->pMa_ku ?? null,
83+
'pRet' => ['type' => 'INT', 'output' => true],
7684
], $connection);
7785
}
86+
87+
/**
88+
* Call stored procedure asCADelCDKU with named parameters (helper method).
89+
*
90+
* @param null|string $Ma_cty Mã công ty
91+
* @param null|int $Nam Năm
92+
* @param null|string $Ma_ku Mã khế ước
93+
*
94+
* @return Collection Kết quả từ procedure
95+
*/
96+
public static function callWithParams(
97+
?string $Ma_cty = null,
98+
?int $Nam = null,
99+
?string $Ma_ku = null,
100+
): Collection {
101+
return self::call([
102+
'pMa_cty' => $Ma_cty,
103+
'pNam' => $Nam,
104+
'pMa_ku' => $Ma_ku,
105+
]);
106+
}
78107
}

src/StoredProcedures/AsCADelCT1.php

Lines changed: 42 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,15 @@
88
* @author Tran Ngoc Duc <ductn@diepxuan.com>
99
* @author Tran Ngoc Duc <caothu91@gmail.com>
1010
*
11-
* @lastupdate 2026-02-25 15:32:11
11+
* @lastupdate 2026-04-06 08:15:17
1212
*/
1313

1414
namespace Diepxuan\Simba\StoredProcedures;
1515

16+
use Diepxuan\Simba\Helper\ParamHelper;
1617
use Diepxuan\Simba\SModel\SModel;
1718
use Illuminate\Support\Collection;
18-
use Diepxuan\Simba\Helper\ParamHelper;
19+
1920
/**
2021
* Class AsCADelCT1.
2122
*
@@ -24,51 +25,78 @@
2425
* Procedure thực hiện xóa các bản ghi trong bảng CACT1 thỏa mãn điều kiện mã công ty và stt_rec.
2526
* Trả về kết quả qua output parameter @pRet: 0 nếu xóa thành công, khác 0 nếu có lỗi (mã lỗi SQL).
2627
*
27-
* Tham số:
28-
* - @pMa_cty (string, bắt buộc): Mã công ty (3 ký tự).
29-
* - @pStt_rec (string, bắt buộc): Số thứ tự record (20 ký tự). Khóa chính của bảng CACT1.
30-
* - @pRet (int, output): Kết quả trả về. 0 thành công, khác 0 lỗi.
28+
* Tham số (theo định nghĩa thực tế trong SQL Server):
29+
* - @pMa_cty (nvarchar(3)): Mã công ty. Bắt buộc.
30+
* - @pStt_rec (nvarchar(20)): Số thứ tự record (stt_rec). Khóa chính của bảng CACT1. Bắt buộc.
31+
* - @pRet (int, OUTPUT): Tham số đầu ra chứa mã lỗi (@@error).
32+
* - 0: Thành công.
33+
* - Khác 0: Mã lỗi SQL Server.
3134
*
3235
* Giá trị trả về:
33-
* - Procedure không trả về resultset, chỉ thiết lập giá trị output parameter @pRet.
34-
* - Cần đọc giá trị @pRet sau khi gọi để kiểm tra lỗi.
36+
* - Procedure không trả về result set.
37+
* - Kết quả được trả về qua output parameter @pRet.
38+
* - Để lấy giá trị @pRet, cần đọc từ result của ProcedureCaller (có SELECT @pRet).
3539
*
3640
* Ví dụ gọi:
3741
* ```php
3842
* $result = AsCADelCT1::call([
3943
* 'pMa_cty' => '001',
40-
* 'pStt_rec' => 'CT202500001',
44+
* 'pStt_rec' => '001wCT10000000676668',
4145
* ]);
46+
*
4247
* // Lấy giá trị output parameter
43-
* $ret = $result['pRet'] ?? null;
48+
* $ret = $result->first()->pRet ?? null;
4449
* if ($ret === 0) {
4550
* // Xóa thành công
4651
* } else {
47-
* // Có lỗi xảy ra
52+
* // Có lỗi xảy ra, $ret chứa mã lỗi
4853
* }
4954
* ```
5055
*
5156
* Lưu ý:
5257
* - Bảng CACT1 lưu trữ chi tiết chứng từ loại 1 trong module Cost Accounting.
5358
* - Procedure này thường được gọi khi hủy một chứng từ chi phí.
59+
* - Output parameter @pRet được xử lý tự động bởi ProcedureCaller.
60+
*
61+
* @see AsCAGetCT1::call() - Kiểm tra chứng từ tồn tại trước khi xóa
5462
*/
5563
class AsCADelCT1
5664
{
5765
/**
5866
* Gọi stored procedure asCADelCT1.
5967
*
60-
* @param array $params mảng tham số với các khóa tương ứng tên tham số (có thể có tiền tố '@' hoặc không)
68+
* @param array $params Mảng tham số với các khóa tương ứng tên tham số.
69+
* Các parameters có thể thiếu, sẽ dùng giá trị default.
6170
*
62-
* @return mixed kết quả trả về từ procedure (có thể chứa output parameter)
71+
* @return Collection kết quả từ procedure (chứa output parameter pRet)
6372
*/
6473
public static function call(array $params): Collection
6574
{
66-
$paramObj = ParamHelper::fromArray($params);
75+
$paramObj = ParamHelper::fromArray($params);
6776
$connection = (new SModel())->getConnectionName();
6877

6978
return ProcedureCaller::call('asCADelCT1', [
7079
'pMa_cty' => $paramObj->pMa_cty ?? null,
7180
'pStt_rec' => $paramObj->pStt_rec ?? null,
81+
'pRet' => ['type' => 'INT', 'output' => true],
7282
], $connection);
7383
}
84+
85+
/**
86+
* Call stored procedure asCADelCT1 with named parameters (helper method).
87+
*
88+
* @param null|string $Ma_cty Mã công ty
89+
* @param null|string $Stt_rec Số tham chiếu
90+
*
91+
* @return Collection Kết quả từ procedure
92+
*/
93+
public static function callWithParams(
94+
?string $Ma_cty = null,
95+
?string $Stt_rec = null,
96+
): Collection {
97+
return self::call([
98+
'pMa_cty' => $Ma_cty,
99+
'pStt_rec' => $Stt_rec,
100+
]);
101+
}
74102
}

src/StoredProcedures/AsCADelCT3.php

Lines changed: 42 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,15 @@
88
* @author Tran Ngoc Duc <ductn@diepxuan.com>
99
* @author Tran Ngoc Duc <caothu91@gmail.com>
1010
*
11-
* @lastupdate 2026-02-25 15:32:59
11+
* @lastupdate 2026-04-06 08:15:18
1212
*/
1313

1414
namespace Diepxuan\Simba\StoredProcedures;
1515

16+
use Diepxuan\Simba\Helper\ParamHelper;
1617
use Diepxuan\Simba\SModel\SModel;
1718
use Illuminate\Support\Collection;
18-
use Diepxuan\Simba\Helper\ParamHelper;
19+
1920
/**
2021
* Class AsCADelCT3.
2122
*
@@ -24,51 +25,78 @@
2425
* Procedure thực hiện xóa các bản ghi trong bảng CACT3 thỏa mãn điều kiện mã công ty và stt_rec.
2526
* Trả về kết quả qua output parameter @pRet: 0 nếu xóa thành công, khác 0 nếu có lỗi (mã lỗi SQL).
2627
*
27-
* Tham số:
28-
* - @pMa_cty (string, bắt buộc): Mã công ty (3 ký tự).
29-
* - @pStt_rec (string, bắt buộc): Số thứ tự record (20 ký tự). Khóa chính của bảng CACT3.
30-
* - @pRet (int, output): Kết quả trả về. 0 thành công, khác 0 lỗi.
28+
* Tham số (theo định nghĩa thực tế trong SQL Server):
29+
* - @pMa_cty (nvarchar(3)): Mã công ty. Bắt buộc.
30+
* - @pStt_rec (nvarchar(20)): Số thứ tự record (stt_rec). Khóa chính của bảng CACT3. Bắt buộc.
31+
* - @pRet (int, OUTPUT): Tham số đầu ra chứa mã lỗi (@@error).
32+
* - 0: Thành công.
33+
* - Khác 0: Mã lỗi SQL Server.
3134
*
3235
* Giá trị trả về:
33-
* - Procedure không trả về resultset, chỉ thiết lập giá trị output parameter @pRet.
34-
* - Cần đọc giá trị @pRet sau khi gọi để kiểm tra lỗi.
36+
* - Procedure không trả về result set.
37+
* - Kết quả được trả về qua output parameter @pRet.
38+
* - Để lấy giá trị @pRet, cần đọc từ result của ProcedureCaller (có SELECT @pRet).
3539
*
3640
* Ví dụ gọi:
3741
* ```php
3842
* $result = AsCADelCT3::call([
3943
* 'pMa_cty' => '001',
40-
* 'pStt_rec' => 'CT202500001',
44+
* 'pStt_rec' => '001wCT30000000676668',
4145
* ]);
46+
*
4247
* // Lấy giá trị output parameter
43-
* $ret = $result['pRet'] ?? null;
48+
* $ret = $result->first()->pRet ?? null;
4449
* if ($ret === 0) {
4550
* // Xóa thành công
4651
* } else {
47-
* // Có lỗi xảy ra
52+
* // Có lỗi xảy ra, $ret chứa mã lỗi
4853
* }
4954
* ```
5055
*
5156
* Lưu ý:
5257
* - Bảng CACT3 lưu trữ chi tiết chứng từ loại 3 trong module Cost Accounting.
5358
* - Procedure này thường được gọi khi hủy một chứng từ chi phí.
59+
* - Output parameter @pRet được xử lý tự động bởi ProcedureCaller.
60+
*
61+
* @see AsCAGetCT3::call() - Kiểm tra chứng từ tồn tại trước khi xóa
5462
*/
5563
class AsCADelCT3
5664
{
5765
/**
5866
* Gọi stored procedure asCADelCT3.
5967
*
60-
* @param array $params mảng tham số với các khóa tương ứng tên tham số (có thể có tiền tố '@' hoặc không)
68+
* @param array $params Mảng tham số với các khóa tương ứng tên tham số.
69+
* Các parameters có thể thiếu, sẽ dùng giá trị default.
6170
*
62-
* @return mixed kết quả trả về từ procedure (có thể chứa output parameter)
71+
* @return Collection kết quả từ procedure (chứa output parameter pRet)
6372
*/
6473
public static function call(array $params): Collection
6574
{
66-
$paramObj = ParamHelper::fromArray($params);
75+
$paramObj = ParamHelper::fromArray($params);
6776
$connection = (new SModel())->getConnectionName();
6877

6978
return ProcedureCaller::call('asCADelCT3', [
7079
'pMa_cty' => $paramObj->pMa_cty ?? null,
7180
'pStt_rec' => $paramObj->pStt_rec ?? null,
81+
'pRet' => ['type' => 'INT', 'output' => true],
7282
], $connection);
7383
}
84+
85+
/**
86+
* Call stored procedure asCADelCT3 with named parameters (helper method).
87+
*
88+
* @param null|string $Ma_cty Mã công ty
89+
* @param null|string $Stt_rec Số tham chiếu
90+
*
91+
* @return Collection Kết quả từ procedure
92+
*/
93+
public static function callWithParams(
94+
?string $Ma_cty = null,
95+
?string $Stt_rec = null,
96+
): Collection {
97+
return self::call([
98+
'pMa_cty' => $Ma_cty,
99+
'pStt_rec' => $Stt_rec,
100+
]);
101+
}
74102
}

0 commit comments

Comments
 (0)