Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 623
0.00% covered (danger)
0.00%
0 / 26
CRAP
0.00% covered (danger)
0.00%
0 / 1
SaleAdjPrice_test
0.00% covered (danger)
0.00%
0 / 623
0.00% covered (danger)
0.00%
0 / 26
2352
0.00% covered (danger)
0.00%
0 / 1
 __construct
n/a
0 / 0
n/a
0 / 0
1
 test_เข้าหน้าแรกต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
 test_เข้าหน้าหลักต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
 test_โหลดข้อมูลมาแสดงเป็นตารางต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 22
0.00% covered (danger)
0.00%
0 / 1
2
 test_เปิดหน้าเพิ่มเอกสารต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 1
2
 test_โหลดข้อมูลรายการสินค้าแสดงเป็นตารางต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
2
 test_เพิ่มข้อมูลสินค้า_1_รายการต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 49
0.00% covered (danger)
0.00%
0 / 1
6
 test_ลบข้อมูลสินค้า_1_รายการต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 23
0.00% covered (danger)
0.00%
0 / 1
6
 test_เพิ่มข้อมูลสินค้า_2_รายการต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 50
0.00% covered (danger)
0.00%
0 / 1
12
 test_ลบข้อมูลสินค้า_2_รายการต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 28
0.00% covered (danger)
0.00%
0 / 1
12
 test_เพิ่มข้อมูลสินค้า_3_รายการต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 50
0.00% covered (danger)
0.00%
0 / 1
12
 test_แก้ไขราคาสินค้าลำดับที่_1_เป็นจำนวนเงิน_150_บาท
0.00% covered (danger)
0.00%
0 / 25
0.00% covered (danger)
0.00%
0 / 1
6
 test_แก้ไขราคาสินค้าลำดับที่_2_เป็นจำนวนเงิน_160_บาท
0.00% covered (danger)
0.00%
0 / 25
0.00% covered (danger)
0.00%
0 / 1
6
 test_โหลดข้อมูลการตรวจสอบราคาในรายการที่_1_ต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 25
0.00% covered (danger)
0.00%
0 / 1
6
 test_โหลดข้อมูลการตรวจสอบราคาในรายการที่_2_ต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 25
0.00% covered (danger)
0.00%
0 / 1
6
 test_โหลดข้อมูลการตรวจสอบราคาในรายการที่_3_ต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 25
0.00% covered (danger)
0.00%
0 / 1
6
 test_ปรับราคาสินค้าทั้งเอกสารจำนวนราคา_300_บาทด้วยฟังชั่น_ปรับทั้งเอกสาร_ต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
2
 test_บันทึกเอกสาร_สร้างรหัสอัตโนมัติ_ประเภทราคา_baseprice_รายการสินค้า_3_รายการ
0.00% covered (danger)
0.00%
0 / 69
0.00% covered (danger)
0.00%
0 / 1
2
 test_เข้าหน้าแก้ไขเอกสารต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 17
0.00% covered (danger)
0.00%
0 / 1
6
 test_ยกเลิกเอกสารต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 17
0.00% covered (danger)
0.00%
0 / 1
6
 test_อนุมัติเอกสารต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 22
0.00% covered (danger)
0.00%
0 / 1
6
 test_ลบเอกสาร_1_เอกสารต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 17
0.00% covered (danger)
0.00%
0 / 1
6
 test_ลบเอกสาร_2_เอกสารต้องสำเร็จ
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 1
12
 test_คัดลอกเอกสาร
0.00% covered (danger)
0.00%
0 / 18
0.00% covered (danger)
0.00%
0 / 1
6
 test_ยกเลิกเอกสารหลังอนุมัติ
0.00% covered (danger)
0.00%
0 / 18
0.00% covered (danger)
0.00%
0 / 1
6
 test_อ้างอิงสินค้าจากเอกสารใบรับของใบซื้อ
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 1
2
 test_อ้างอิงสินค้าจากเอกสารใบรับเข้า
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2/**
3 * Part of ci-phpunit-test
4 *
5 * @author     Kenji Suzuki <https://github.com/kenjis>
6 * @license    MIT License
7 * @copyright  2015 Kenji Suzuki
8 * @link       https://github.com/kenjis/ci-phpunit-test
9 */
10
11class SaleAdjPrice_test extends TestCase
12{
13
14    /** 
15     *@codeCoverageIgnore
16    */
17    public function __construct() {
18        parent::__construct();
19        $ci = &get_instance();
20        $ci->load->helper('validator_helper');
21        $this->code = substr(md5(uniqid(mt_rand(), true)), 0, 5);
22        $_SESSION =array (
23            '__ci_last_regenerate' => 1674475513,
24            'lang' => 'th',
25            'tLangID' => 1,
26            'tSesUserLogin' => '009',
27            'tSesUsrRoleCodeMulti' => '\'00002\'',
28            'nSesUsrRoleLevel' => 99,
29            'tSesUsrAgnCode' => NULL,
30            'tSesUsrAgnName' => NULL,
31            'tSesUsrMerCode' => NULL,
32            'tSesUsrMerName' => NULL,
33            'tSesUsrBchCodeDefault' => '00001',
34            'tSesUsrBchNameDefault' => 'AdaSoft00001',
35            'tSesUsrBchCodeMulti' => '\'00001\'',
36            'tSesUsrBchNameMulti' => '\'AdaSoft00001\'',
37            'nSesUsrBchCount' => 0,
38            'tSesUsrShpCodeDefault' => '00014',
39            'tSesUsrShpNameDefault' => 'รันไทม์ช็อป',
40            'tSesUsrShpCodeMulti' => '\'00014\'',
41            'tSesUsrShpNameMulti' => '\'รันไทม์ช็อป\'',
42            'nSesUsrShpCount' => 0,
43            'tSesUsrWahCode' => '00001',
44            'tSesUsrWahName' => 'คลังขาย',
45            'tSesUsrLoginLevel' => 'HQ',
46            'tSesUsrLoginAgency' => 0,
47            'bSesLogIn' => 1,
48            'tSesUserCode' => '00002',
49            'tSesUsername' => '00002',
50            'tSesUsrDptName' => NULL,
51            'tSesUsrDptCode' => NULL,
52            'tSesUsrUsername' => 'Adasoft',
53            'tSesUsrImagePerson' => NULL,
54            'tSesUsrInfo' => 
55            array (
56              'FTUsrStaActive' => 1,
57              'FTUsrLogType' => 1,
58              'FTStaError' => 0,
59              'FTUsrCode' => '00002',
60              'FTUsrName' => 'Adasoft',
61              'FTDptCode' => NULL,
62              'FTDptName' => NULL,
63              'FTImgObj' => NULL,
64            ),
65            'tSesUsrGroup' => 
66            array (
67              0 => 
68              array (
69                'FTUsrCode' => '00002',
70                'FTAgnCode' => NULL,
71                'FTAgnName' => NULL,
72                'FTBchCode' => NULL,
73                'FTBchName' => NULL,
74                'FTShpCode' => NULL,
75                'FTShpName' => NULL,
76                'FTMerCode' => NULL,
77                'FTMerName' => NULL,
78                'FTWahCode' => NULL,
79                'FTWahName' => NULL,
80                'FTLoginLevel' => 'HQ',
81                'FTStaLoginAgn' => 0,
82              ),
83            ),
84            'tSesSessionID' => '0000220230123185822',
85            'tSesSessionDate' => '2023-01-23 18:58:22',
86            'tLangEdit' => 1,
87            'bIsHaveAgn' => NULL,
88            'tSesUsrLevel' => 'HQ',
89            'tSesUsrRoleSpcCodeMulti' => '\'00002\',\'00003\',\'00004\',\'00005\',\'00006\',\'00007\',\'00008\',\'00009\',\'00010\',\'00011\',\'00012\',\'00013\',\'00014\',\'00016\',\'00017\',\'00018\',\'00019\',\'00020\',\'00021\',\'00022\',\'00023\',\'00024\',\'00025\',\'00026\',\'00027\',\'00028\',\'00029\',\'00030\',\'00031\',\'00032\',\'00033\',\'00034\',\'00035\',\'00036\',\'00037\',\'00038\'',
90            'bShpEnabled' => 1,
91            'bAgnEnabled' => 1,
92            'bLockerEnabled' => NULL,
93            'bPdtFasionEnabled' => NULL,
94            'tSesHQBchCode' => '00001',
95            'bSesRegStaLicense' => 1,
96            'tSesCstKey' => '52a8a4705e6c',
97            'bSesRegStaBuyPackage' => 1,
98        );
99
100        $_COOKIE['nBrwTopWebCookie_00002'] = 50;
101        $_COOKIE['nSesTopPdt_00002'] = 50;
102    }
103
104    // SalePriceAdj ใบปรับราคาขาย
105// $route['dcmSPA/(:any)/(:any)']             = 'document/salepriceadj/cSalePriceAdj/index/$1/$2';
106// $route['dcmSPAMain']                       = 'document/salepriceadj/cSalePriceAdj/FSvCSPAMainPage';
107// $route['dcmSPADataTable']                  = 'document/salepriceadj/cSalePriceAdj/FSvCSPADataList';
108// $route['dcmSPAPageAdd']                    = 'document/salepriceadj/cSalePriceAdj/FSvCSPAAddPage';
109// $route['dcmSPAPageEdit']                   = 'document/salepriceadj/cSalePriceAdj/FSvCSPAEditPage';
110// $route['dcmSPAEventEdit']                  = 'document/salepriceadj/cSalePriceAdj/FSoCSPAEditEvent';
111// $route['dcmSPAEventAdd']                   = 'document/salepriceadj/cSalePriceAdj/FSoCSPAAddEvent';
112// $route['dcmSPAEventDelete']                = 'document/salepriceadj/cSalePriceAdj/FSoCSPADeleteEvent';
113// $route['dcmSPAPdtPriDataTable']            = 'document/salepriceadj/cSalePriceAdj/FSvCSPAPdtPriDataList'; // Get Pdt List
114// $route['dcmSPAPdtPriEventAddTmp']          = 'document/salepriceadj/cSalePriceAdj/FSvCSPAPdtPriAddTmpEvent';
115// $route['dcmSPAPdtPriEventAddDT']           = 'document/salepriceadj/cSalePriceAdj/FSvCSPAPdtPriAddDTEvent'; ไม่มีการเรียกใช้
116// $route['dcmSPAPdtPriEventDelete']          = 'document/salepriceadj/cSalePriceAdj/FSoCSPAPdtPriDeleteEvent';
117// $route['dcmSPAPdtPriEventDelAll']          = 'document/salepriceadj/cSalePriceAdj/FSoCSPAProductDeleteAllEvent';
118// $route['dcmSPAPdtPriEventUpdPriTmp']       = 'document/salepriceadj/cSalePriceAdj/FSoCSPAUpdatePriceTemp';
119// $route['dcmSPAGetBchComp']                 = 'document/salepriceadj/cSalePriceAdj/FSoCSPAGetBchComp';
120// $route['dcmSPAAdvanceTableShowColList']    = 'document/salepriceadj/cSalePriceAdj/FSvCSPAAdvTblShowColList';
121// $route['dcmSPAAdvanceTableShowColSave']    = 'document/salepriceadj/cSalePriceAdj/FSvCSPAShowColSave';
122// $route['dcmSPAOriginalPrice']              = 'document/salepriceadj/cSalePriceAdj/FSoCSPAOriginalPrice';
123// $route['dcmSPAPdtPriAdjust']               = 'document/salepriceadj/cSalePriceAdj/FSoCSPAPdtPriAdjustEvent';
124// $route['dcmSPAEventApprove']               = 'document/salepriceadj/cSalePriceAdj/FSoCSPAApproveEvent';
125// $route['dcmSPAUpdateStaDocCancel']         = 'document/salepriceadj/cSalePriceAdj/FSoCSPAUpdateStaDocCancel';
126// $route['dcmSPAPdtPriEventUpdPriPunTmp']    = 'document/salepriceadj/cSalePriceAdj/FSoCSPAUpdatePunTemp';
127
128    //1.เข้าหน้าแรกต้องสำเร็จ
129    public function test_เข้าหน้าแรกต้องสำเร็จ(){
130        print ' 1.เข้าหน้าแรกต้องสำเร็จ';
131        $oOutput = $this->request(
132            'POST',
133            'document/salepriceadj/cSalePriceAdj/index/0/0'
134        );
135        $this->assertStringContainsString('oetSpaStaBrowse', $oOutput);
136        $this->assertResponseCode(200);
137    }
138
139     //2.เข้าหน้าหลักต้องสำเร็จ
140     public function test_เข้าหน้าหลักต้องสำเร็จ(){
141        print ' 2.เข้าหน้าหลักต้องสำเร็จ';
142        $oOutput = $this->request(
143            'POST',
144            'document/salepriceadj/cSalePriceAdj/FSvCSPAMainPage'
145        );
146        $this->assertStringContainsString('odvSPAAdvanceSearchContainer', $oOutput);
147        $this->assertResponseCode(200);
148    }
149
150
151    //3.โหลดข้อมูลมาแสดงเป็นตารางต้องสำเร็จ
152    public function test_โหลดข้อมูลมาแสดงเป็นตารางต้องสำเร็จ(){
153    print ' 3.โหลดข้อมูลมาแสดงเป็นตารางต้องสำเร็จ';
154        $aParam = array(
155            'oAdvanceSearchData' => array(
156                'tSearchAll'=> '',
157                'tSearchBchCodeFrom'=> '',
158                'tSearchBchCodeTo' => '',
159                'tSearchDocDateFrom' => '',
160                'tSearchDocDateTo' => '',
161                'tSearchStaDoc' => '',
162                'tSearchStaAct' => '',
163                'tSearchStaPrcStk' => '',
164                'tSearchUsedStatus' => ''
165            ),
166            'nPageCurrent' => 1
167        );
168        $oOutput = $this->request(
169            'POST',
170            'document/salepriceadj/cSalePriceAdj/FSvCSPADataList',
171            $aParam
172        );
173        $this->assertStringContainsString('otbSpaDataList', $oOutput);
174        $this->assertResponseCode(200);
175    }
176
177
178
179        //4.เปิดหน้าเพิ่มเอกสารต้องสำเร็จห
180        public function test_เปิดหน้าเพิ่มเอกสารต้องสำเร็จ(){
181            print ' 4.เปิดหน้าเพิ่มเอกสารต้องสำเร็จ';
182
183                $oOutput = $this->request(
184                    'POST',
185                    'document/salepriceadj/cSalePriceAdj/FSvCSPAAddPage',
186                );
187                $this->assertStringContainsString('form class=', $oOutput);
188                $this->assertResponseCode(200);
189                ob_get_clean();
190        }
191
192
193
194        
195        //5.โหลดข้อมูลรายการสินค้าแสดงเป็นตารางต้องสำเร็จ
196        public function test_โหลดข้อมูลรายการสินค้าแสดงเป็นตารางต้องสำเร็จ(){
197            print ' 5.โหลดข้อมูลรายการสินค้าแสดงเป็นตารางต้องสำเร็จ';
198            $aParam = array(
199                'tSearchAll' => '',
200                'FTXphDocNo' => '',
201                'nPageCurrent' => 1
202            );
203                $oOutput = $this->request(
204                    'POST',
205                    'document/salepriceadj/cSalePriceAdj/FSvCSPAPdtPriDataList',
206                    $aParam
207                );
208                $this->assertStringContainsString('otbSpaDataList', $oOutput);
209                $this->assertResponseCode(200);
210                ob_end_flush();
211        }
212
213        
214
215        //6.เพิ่มข้อมูลสินค้า_1_รายการต้องสำเร็จ
216        public function test_เพิ่มข้อมูลสินค้า_1_รายการต้องสำเร็จ(){
217            print ' 6.เพิ่มข้อมูลสินค้า_1_รายการต้องสำเร็จ';
218            $ci = &get_instance();
219            $ci->load->database();
220            $tSQL =" SELECT TOP 1
221                        PDT.FTPdtCode,
222                        BAR.FTBarCode,
223                        BAR.FTPunCode,
224                        PDT_L.FTPdtName,
225                        PUN_L.FTPunName,
226                        PACK.FCPdtUnitFact,
227                        PDT.FTPdtStaAlwDis,
228                        PDT.FTPdtStaVat,
229                        PDT.FTVatCode,
230                        VAT.FCVatRate,
231                        PRICE.FCPgdPriceRet,
232                        PRICE.FCPgdPriceNet,
233                        PRICE.FCPgdPriceWhs
234                    FROM  TCNMPdt PDT WITH(NOLOCK)
235                    LEFT JOIN TCNMPdtPackSize PACK  WITH(NOLOCK) ON PDT.FTPdtCode = PACK.FTPdtCode
236                    LEFT JOIN TCNMPdtBar BAR WITH(NOLOCK) ON PDT.FTPdtCode = BAR.FTPdtCode AND PACK.FTPunCode =  BAR.FTPunCode
237                    LEFT JOIN TCNMPdt_L PDT_L  WITH(NOLOCK)  ON PDT.FTPdtCode = PDT_L.FTPdtCode  AND PDT_L.FNLngID = 1
238                    LEFT JOIN TCNMPdtUnit_L PUN_L  WITH(NOLOCK)  ON PACK.FTPunCode = PUN_L.FTPunCode  AND PUN_L.FNLngID = 1
239                    LEFT JOIN VCN_VatActive VAT WITH(NOLOCK)  ON PDT.FTVatCode = VAT.FTVatCode
240                    LEFT JOIN VCN_Price4PdtActive PRICE WITH(NOLOCK) ON PDT.FTPdtCode = PRICE.FTPdtCode
241                    WHERE PRICE.FCPgdPriceRet>0";
242            $aResult = $ci->db->query($tSQL);
243            $aPdtData  = $aResult->row_array();
244                if(!empty($aPdtData)){
245                    $aParam = array(
246                        'tFTBchCode' => '00001',
247                        'tFTXthDocNo' => '',
248                        'aData' => array(
249                            0 => array(
250                                'pnPdtCode' => $aPdtData['FTPdtCode'],
251                                'ptBarCode' => $aPdtData['FTBarCode'],
252                                'ptPunCode' => $aPdtData['FTPunCode'],
253                                'packData' => array(
254                                    'BCH' => '',
255                                    'SHP' => '',
256                                    'PDTCode' => $aPdtData['FTPdtCode'],
257                                    'PDTName' => $aPdtData['FTPdtName'],
258                                    'PUNCode' => $aPdtData['FTPunCode'],
259                                    'UnitFact' => $aPdtData['FCPdtUnitFact'],
260                                    'Barcode' => $aPdtData['FTBarCode'],
261                                    'PUNName' => $aPdtData['FTPunName'],
262                                    'IMAGE' => '',
263                                    'LOCSEQ' => '',
264                                    'Remark' => $aPdtData['FTPdtName'],
265                                    'PDTSpc' => '-',
266                                    'CookTime' => '',
267                                    'CookHeat' => '',
268                                    'AlwDis' => $aPdtData['FTPdtStaAlwDis'],
269                                    'AlwVat' => $aPdtData['FTPdtStaVat'],
270                                    'nVat' => $aPdtData['FCVatRate'],
271                                    'PriceRet' => $aPdtData['FCPgdPriceRet'],
272                                    'PriceWhs' => $aPdtData['FCPgdPriceWhs'],
273                                    'PriceNet' => $aPdtData['FCPgdPriceNet'],
274                                    'NetAfHD' => $aPdtData['FCPgdPriceRet'],
275                                )
276                            )
277                        )
278                    );
279                // print_r($aParam);
280                $oOutput = $this->request(
281                    'POST',
282                    'document/salepriceadj/cSalePriceAdj/FSvCSPAPdtPriAddTmpEvent',
283                    $aParam
284                );
285                $this->assertStringContainsString('Success Add Product to tmp', $oOutput);
286                $this->assertResponseCode(200);
287
288            }
289        }
290
291        
292        //7.ลบข้อมูลสินค้า_1_รายการต้องสำเร็จ
293        public function test_ลบข้อมูลสินค้า_1_รายการต้องสำเร็จ(){
294            print ' 7.ลบข้อมูลสินค้า_1_รายการต้องสำเร็จ';
295            $tSesSessionID = $_SESSION['tSesSessionID'];
296            $ci = &get_instance();
297            $ci->load->database();
298            $tSQL="SELECT FTPdtCode,FTPunCode,FNXtdSeqNo FROM TCNTDocDTTmp WHERE FTSessionID = '$tSesSessionID";
299            $aResult = $ci->db->query($tSQL);
300            $aPdtData  = $aResult->row_array();
301            if(!empty($aPdtData)){
302            $aParam = array(
303                'tDelType' => 'S',
304                'tDocNo' => '',
305                'tPdtCode' => $aPdtData['FTPdtCode'],
306                'tPunCode' => $aPdtData['FTPunCode'],
307                'tSeq' => $aPdtData['FNXtdSeqNo'],
308                'tSta' => '1',
309            );
310                // print_r($aParam);
311                $oOutput = $this->request(
312                    'POST',
313                    'document/salepriceadj/cSalePriceAdj/FSoCSPAPdtPriDeleteEvent',
314                    $aParam
315                );
316                $this->assertStringContainsString('Delete Success', $oOutput);
317                $this->assertResponseCode(200);
318            }
319        }
320
321
322
323
324        
325        //8.เพิ่มข้อมูลสินค้า_2_รายการต้องสำเร็จ
326        public function test_เพิ่มข้อมูลสินค้า_2_รายการต้องสำเร็จ(){
327            print ' 8.เพิ่มข้อมูลสินค้า_2_รายการต้องสำเร็จ';
328            $ci = &get_instance();
329            $ci->load->database();
330            $tSQL =" SELECT TOP 2
331                        PDT.FTPdtCode,
332                        BAR.FTBarCode,
333                        BAR.FTPunCode,
334                        PDT_L.FTPdtName,
335                        PUN_L.FTPunName,
336                        PACK.FCPdtUnitFact,
337                        PDT.FTPdtStaAlwDis,
338                        PDT.FTPdtStaVat,
339                        PDT.FTVatCode,
340                        VAT.FCVatRate,
341                        PRICE.FCPgdPriceRet,
342                        PRICE.FCPgdPriceNet,
343                        PRICE.FCPgdPriceWhs
344                    FROM  TCNMPdt PDT WITH(NOLOCK)
345                    LEFT JOIN TCNMPdtPackSize PACK  WITH(NOLOCK) ON PDT.FTPdtCode = PACK.FTPdtCode
346                    LEFT JOIN TCNMPdtBar BAR WITH(NOLOCK) ON PDT.FTPdtCode = BAR.FTPdtCode AND PACK.FTPunCode =  BAR.FTPunCode
347                    LEFT JOIN TCNMPdt_L PDT_L  WITH(NOLOCK)  ON PDT.FTPdtCode = PDT_L.FTPdtCode  AND PDT_L.FNLngID = 1
348                    LEFT JOIN TCNMPdtUnit_L PUN_L  WITH(NOLOCK)  ON PACK.FTPunCode = PUN_L.FTPunCode  AND PUN_L.FNLngID = 1
349                    LEFT JOIN VCN_VatActive VAT WITH(NOLOCK)  ON PDT.FTVatCode = VAT.FTVatCode
350                    LEFT JOIN VCN_Price4PdtActive PRICE WITH(NOLOCK) ON PDT.FTPdtCode = PRICE.FTPdtCode
351                    WHERE PRICE.FCPgdPriceRet>0";
352            $aResult = $ci->db->query($tSQL);
353            $aPdtDataObj  = $aResult->result_array();
354                if(!empty($aPdtDataObj)){
355                    foreach($aPdtDataObj as $aPdtData){
356                    $aParam = array(
357                        'tFTBchCode' => '00001',
358                        'tFTXthDocNo' => '',
359                        'aData' => array(
360                            0 => array(
361                                'pnPdtCode' => $aPdtData['FTPdtCode'],
362                                'ptBarCode' => $aPdtData['FTBarCode'],
363                                'ptPunCode' => $aPdtData['FTPunCode'],
364                                'packData' => array(
365                                    'BCH' => '',
366                                    'SHP' => '',
367                                    'PDTCode' => $aPdtData['FTPdtCode'],
368                                    'PDTName' => $aPdtData['FTPdtName'],
369                                    'PUNCode' => $aPdtData['FTPunCode'],
370                                    'UnitFact' => $aPdtData['FCPdtUnitFact'],
371                                    'Barcode' => $aPdtData['FTBarCode'],
372                                    'PUNName' => $aPdtData['FTPunName'],
373                                    'IMAGE' => '',
374                                    'LOCSEQ' => '',
375                                    'Remark' => $aPdtData['FTPdtName'],
376                                    'PDTSpc' => '-',
377                                    'CookTime' => '',
378                                    'CookHeat' => '',
379                                    'AlwDis' => $aPdtData['FTPdtStaAlwDis'],
380                                    'AlwVat' => $aPdtData['FTPdtStaVat'],
381                                    'nVat' => $aPdtData['FCVatRate'],
382                                    'PriceRet' => $aPdtData['FCPgdPriceRet'],
383                                    'PriceWhs' => $aPdtData['FCPgdPriceWhs'],
384                                    'PriceNet' => $aPdtData['FCPgdPriceNet'],
385                                    'NetAfHD' => $aPdtData['FCPgdPriceRet'],
386                                )
387                            )
388                        )
389                    );
390                    $oOutput = $this->request(
391                        'POST',
392                        'document/salepriceadj/cSalePriceAdj/FSvCSPAPdtPriAddTmpEvent',
393                        $aParam
394                    );
395                    $this->assertStringContainsString('Success Add Product to tmp', $oOutput);
396                    $this->assertResponseCode(200);
397                }
398    
399            
400
401            }
402        }
403
404
405            
406        //9.ลบข้อมูลสินค้า_2_รายการต้องสำเร็จ
407        public function test_ลบข้อมูลสินค้า_2_รายการต้องสำเร็จ(){
408            print ' 9.ลบข้อมูลสินค้า_2_รายการต้องสำเร็จ';
409            $tSesSessionID = $_SESSION['tSesSessionID'];
410            $ci = &get_instance();
411            $ci->load->database();
412            $tSQL="SELECT TOP 2 FTPdtCode,FTPunCode,FNXtdSeqNo FROM TCNTDocDTTmp WHERE FTSessionID = '$tSesSessionID";
413            $aResult = $ci->db->query($tSQL);
414            $aPdtDataObj  = $aResult->result_array();
415            if(!empty($aPdtDataObj)){
416                foreach($aPdtDataObj as $aPdtData){
417                $aPdtListDel[] = array(
418                    'tDoc' => '',
419                    'tPdt' => $aPdtData['FTPdtCode'],
420                    'tPun' => $aPdtData['FTPunCode'],
421                    'tSeq' => $aPdtData['FNXtdSeqNo'],
422                    'tSta' => '1',
423                );
424            }
425
426            $aParam =array(
427                    'tDocNo' => '',
428                    'tDelType' => 'M',
429                    'tPdtDataItem' => json_encode($aPdtListDel)
430                   );
431
432                // print_r($aParam);
433                $oOutput = $this->request(
434                    'POST',
435                    'document/salepriceadj/cSalePriceAdj/FSoCSPAPdtPriDeleteEvent',
436                    $aParam
437                );
438                $this->assertStringContainsString('Delete Success', $oOutput);
439                $this->assertResponseCode(200);
440            }
441        }
442
443
444
445        
446
447        
448        
449        //10.เพิ่มข้อมูลสินค้า_3_รายการต้องสำเร็จ
450        public function test_เพิ่มข้อมูลสินค้า_3_รายการต้องสำเร็จ(){
451            print ' 10.เพิ่มข้อมูลสินค้า_3_รายการต้องสำเร็จ';
452            $ci = &get_instance();
453            $ci->load->database();
454            $tSQL =" SELECT TOP 3
455                        PDT.FTPdtCode,
456                        BAR.FTBarCode,
457                        BAR.FTPunCode,
458                        PDT_L.FTPdtName,
459                        PUN_L.FTPunName,
460                        PACK.FCPdtUnitFact,
461                        PDT.FTPdtStaAlwDis,
462                        PDT.FTPdtStaVat,
463                        PDT.FTVatCode,
464                        VAT.FCVatRate,
465                        PRICE.FCPgdPriceRet,
466                        PRICE.FCPgdPriceNet,
467                        PRICE.FCPgdPriceWhs
468                    FROM  TCNMPdt PDT WITH(NOLOCK)
469                    LEFT JOIN TCNMPdtPackSize PACK  WITH(NOLOCK) ON PDT.FTPdtCode = PACK.FTPdtCode
470                    LEFT JOIN TCNMPdtBar BAR WITH(NOLOCK) ON PDT.FTPdtCode = BAR.FTPdtCode AND PACK.FTPunCode =  BAR.FTPunCode
471                    LEFT JOIN TCNMPdt_L PDT_L  WITH(NOLOCK)  ON PDT.FTPdtCode = PDT_L.FTPdtCode  AND PDT_L.FNLngID = 1
472                    LEFT JOIN TCNMPdtUnit_L PUN_L  WITH(NOLOCK)  ON PACK.FTPunCode = PUN_L.FTPunCode  AND PUN_L.FNLngID = 1
473                    LEFT JOIN VCN_VatActive VAT WITH(NOLOCK)  ON PDT.FTVatCode = VAT.FTVatCode
474                    LEFT JOIN VCN_Price4PdtActive PRICE WITH(NOLOCK) ON PDT.FTPdtCode = PRICE.FTPdtCode
475                    WHERE PRICE.FCPgdPriceRet>0";
476            $aResult = $ci->db->query($tSQL);
477            $aPdtDataObj  = $aResult->result_array();
478                if(!empty($aPdtDataObj)){
479                    foreach($aPdtDataObj as $aPdtData){
480                    $aParam = array(
481                        'tFTBchCode' => '00001',
482                        'tFTXthDocNo' => '',
483                        'aData' => array(
484                            0 => array(
485                                'pnPdtCode' => $aPdtData['FTPdtCode'],
486                                'ptBarCode' => $aPdtData['FTBarCode'],
487                                'ptPunCode' => $aPdtData['FTPunCode'],
488                                'packData' => array(
489                                    'BCH' => '',
490                                    'SHP' => '',
491                                    'PDTCode' => $aPdtData['FTPdtCode'],
492                                    'PDTName' => $aPdtData['FTPdtName'],
493                                    'PUNCode' => $aPdtData['FTPunCode'],
494                                    'UnitFact' => $aPdtData['FCPdtUnitFact'],
495                                    'Barcode' => $aPdtData['FTBarCode'],
496                                    'PUNName' => $aPdtData['FTPunName'],
497                                    'IMAGE' => '',
498                                    'LOCSEQ' => '',
499                                    'Remark' => $aPdtData['FTPdtName'],
500                                    'PDTSpc' => '-',
501                                    'CookTime' => '',
502                                    'CookHeat' => '',
503                                    'AlwDis' => $aPdtData['FTPdtStaAlwDis'],
504                                    'AlwVat' => $aPdtData['FTPdtStaVat'],
505                                    'nVat' => $aPdtData['FCVatRate'],
506                                    'PriceRet' => $aPdtData['FCPgdPriceRet'],
507                                    'PriceWhs' => $aPdtData['FCPgdPriceWhs'],
508                                    'PriceNet' => $aPdtData['FCPgdPriceNet'],
509                                    'NetAfHD' => $aPdtData['FCPgdPriceRet'],
510                                )
511                            )
512                        )
513                    );
514                    $oOutput = $this->request(
515                        'POST',
516                        'document/salepriceadj/cSalePriceAdj/FSvCSPAPdtPriAddTmpEvent',
517                        $aParam
518                    );
519                    $this->assertStringContainsString('Success Add Product to tmp', $oOutput);
520                    $this->assertResponseCode(200);
521                }
522    
523            
524
525            }
526        }
527
528
529        
530        /**
531         * @large
532         */
533        public function test_แก้ไขราคาสินค้าลำดับที่_1_เป็นจำนวนเงิน_150_บาท(){
534            print ' 11.แก้ไขราคาสินค้าลำดับที่_1_เป็นจำนวนเงิน_150_บาท';
535            $ci = &get_instance();
536            $ci->load->database();
537            $tSesSessionID = $_SESSION['tSesSessionID'];
538            $tSQL="SELECT TOP 1 FTPdtCode,FTPunCode,FNXtdSeqNo FROM TCNTDocDTTmp WHERE FTSessionID = '$tSesSessionID' AND FNXtdSeqNo = '1' ";
539            $aResult = $ci->db->query($tSQL);
540            $aPdtData  = $aResult->row_array();
541            if(!empty($aPdtData)){
542                $aParam = array(
543                    'FTXthDocNo' => '',
544                    'FTPdtCode' => $aPdtData['FTPdtCode'],
545                    'FTPunCode' =>  $aPdtData['FTPunCode'],
546                    'ptPrice' => 'FCXtdPriceRet',
547                    'ptValue' => '150',
548                    'tSearchSpaPdtPri' => '',
549                    'tSeq' =>  $aPdtData['FNXtdSeqNo'],
550                    'tColValidate' => ''
551                );
552                $oOutput = $this->request(
553                    'POST',
554                    'document/salepriceadj/cSalePriceAdj/FSoCSPAUpdatePriceTemp',
555                    $aParam
556                );
557                $this->assertStringContainsString('Updated Price Temp Success', $oOutput);
558                $this->assertResponseCode(200);
559            }
560        
561        }
562
563        
564        /**
565         * @large
566         */
567        public function test_แก้ไขราคาสินค้าลำดับที่_2_เป็นจำนวนเงิน_160_บาท(){
568            print ' 12.แก้ไขราคาสินค้าลำดับที่_2_เป็นจำนวนเงิน_160_บาท';
569            $ci = &get_instance();
570            $ci->load->database();
571            $tSesSessionID = $_SESSION['tSesSessionID'];
572            $tSQL="SELECT TOP 1 FTPdtCode,FTPunCode,FNXtdSeqNo FROM TCNTDocDTTmp WHERE FTSessionID = '$tSesSessionID' AND FNXtdSeqNo = '2' ";
573            $aResult = $ci->db->query($tSQL);
574            $aPdtData  = $aResult->row_array();
575            if(!empty($aPdtData)){
576                $aParam = array(
577                    'FTXthDocNo' => '',
578                    'FTPdtCode' => $aPdtData['FTPdtCode'],
579                    'FTPunCode' =>  $aPdtData['FTPunCode'],
580                    'ptPrice' => 'FCXtdPriceRet',
581                    'ptValue' => '160',
582                    'tSearchSpaPdtPri' => '',
583                    'tSeq' =>  $aPdtData['FNXtdSeqNo'],
584                    'tColValidate' => ''
585                );
586                $oOutput = $this->request(
587                    'POST',
588                    'document/salepriceadj/cSalePriceAdj/FSoCSPAUpdatePriceTemp',
589                    $aParam
590                );
591                $this->assertStringContainsString('Updated Price Temp Success', $oOutput);
592                $this->assertResponseCode(200);
593            }
594        
595        }
596
597
598        public function test_โหลดข้อมูลการตรวจสอบราคาในรายการที่_1_ต้องสำเร็จ(){
599            print ' 13.โหลดข้อมูลการตรวจสอบราคาในรายการที่_1_ต้องสำเร็จ';
600            $ci = &get_instance();
601            $ci->load->database();
602            $tSesSessionID = $_SESSION['tSesSessionID'];
603            $tSQL="SELECT TOP 1 FTPdtCode,FTPunCode,FNXtdSeqNo FROM TCNTDocDTTmp WHERE FTSessionID = '$tSesSessionID' AND FNXtdSeqNo = '1' ";
604            $aResult = $ci->db->query($tSQL);
605            $aPdtData  = $aResult->row_array();
606            if(!empty($aPdtData)){
607                $aParam = array(
608                    'ptFTPdtCode' => $aPdtData['FTPdtCode'],
609                    'ptFTPunCode' => $aPdtData['FTPunCode'],
610                    'ptField' => '',
611                    'ptTable' => 'TCNTPdtPrice4PDT',
612                    'ptFTPplCode' => '',
613                    'tPplCode' => '',
614                    'tPplName' => '',
615                    'ptFTPdtName' => ''
616                );
617                $oOutput = $this->request(
618                    'POST',
619                    'document/salepriceadj/cSalePriceAdj/FSoCSPAOriginalPrice',
620                    $aParam
621                );
622                $this->assertStringContainsString('otbOrderListDetail', $oOutput);
623                $this->assertResponseCode(200);
624            }
625        
626        }
627
628
629        public function test_โหลดข้อมูลการตรวจสอบราคาในรายการที่_2_ต้องสำเร็จ(){
630            print ' 13.โหลดข้อมูลการตรวจสอบราคาในรายการที่_2_ต้องสำเร็จ';
631            $ci = &get_instance();
632            $ci->load->database();
633            $tSesSessionID = $_SESSION['tSesSessionID'];
634            $tSQL="SELECT TOP 1 FTPdtCode,FTPunCode,FNXtdSeqNo FROM TCNTDocDTTmp WHERE FTSessionID = '$tSesSessionID' AND FNXtdSeqNo = '2' ";
635            $aResult = $ci->db->query($tSQL);
636            $aPdtData  = $aResult->row_array();
637            if(!empty($aPdtData)){
638                $aParam = array(
639                    'ptFTPdtCode' => $aPdtData['FTPdtCode'],
640                    'ptFTPunCode' => $aPdtData['FTPunCode'],
641                    'ptField' => '',
642                    'ptTable' => 'TCNTPdtPrice4PDT',
643                    'ptFTPplCode' => '',
644                    'tPplCode' => '',
645                    'tPplName' => '',
646                    'ptFTPdtName' => ''
647                );
648                $oOutput = $this->request(
649                    'POST',
650                    'document/salepriceadj/cSalePriceAdj/FSoCSPAOriginalPrice',
651                    $aParam
652                );
653                $this->assertStringContainsString('otbOrderListDetail', $oOutput);
654                $this->assertResponseCode(200);
655            }
656        
657        }
658
659        public function test_โหลดข้อมูลการตรวจสอบราคาในรายการที่_3_ต้องสำเร็จ(){
660            print ' 14.โหลดข้อมูลการตรวจสอบราคาในรายการที่_3_ต้องสำเร็จ';
661            $ci = &get_instance();
662            $ci->load->database();
663            $tSesSessionID = $_SESSION['tSesSessionID'];
664            $tSQL="SELECT TOP 1 FTPdtCode,FTPunCode,FNXtdSeqNo FROM TCNTDocDTTmp WHERE FTSessionID = '$tSesSessionID' AND FNXtdSeqNo = '3' ";
665            $aResult = $ci->db->query($tSQL);
666            $aPdtData  = $aResult->row_array();
667            if(!empty($aPdtData)){
668                $aParam = array(
669                    'ptFTPdtCode' => $aPdtData['FTPdtCode'],
670                    'ptFTPunCode' => $aPdtData['FTPunCode'],
671                    'ptField' => '',
672                    'ptTable' => 'TCNTPdtPrice4PDT',
673                    'ptFTPplCode' => '',
674                    'tPplCode' => '',
675                    'tPplName' => '',
676                    'ptFTPdtName' => ''
677                );
678                $oOutput = $this->request(
679                    'POST',
680                    'document/salepriceadj/cSalePriceAdj/FSoCSPAOriginalPrice',
681                    $aParam
682                );
683                $this->assertStringContainsString('otbOrderListDetail', $oOutput);
684                $this->assertResponseCode(200);
685            }
686        
687        }
688
689
690        public function test_ปรับราคาสินค้าทั้งเอกสารจำนวนราคา_300_บาทด้วยฟังชั่น_ปรับทั้งเอกสาร_ต้องสำเร็จ(){
691            print ' 15.ปรับราคาสินค้าทั้งเอกสารจำนวนราคา_300_บาทด้วยฟังชั่น_ปรับทั้งเอกสาร_ต้องสำเร็จ';
692
693                $aParam = array(
694                    'tDocNo' => '',
695                    'tStaAdj' => '1',
696                    'tValue' => '300',
697                    'tChangePrice' => '1'
698                   );
699                $oOutput = $this->request(
700                    'POST',
701                    'document/salepriceadj/cSalePriceAdj/FSoCSPAPdtPriAdjustEvent',
702                    $aParam
703                );
704                $this->assertStringContainsString('Updated Price Temp Success', $oOutput);
705                $this->assertResponseCode(200);
706            
707        }
708
709        public function test_บันทึกเอกสาร_สร้างรหัสอัตโนมัติ_ประเภทราคา_baseprice_รายการสินค้า_3_รายการ(){
710            print ' 16.บันทึกเอกสาร_สร้างรหัสอัตโนมัติ_ประเภทราคา_baseprice_รายการสินค้า_3_รายการ';
711            $ci = &get_instance();
712            $ci->load->database();
713
714            $tSesSessionID = $_SESSION['tSesSessionID'];
715                $aParam = array(
716                    'ohdBaseUrl' => 'http://localhost:83/AdaPos5.0-STD/',
717                    'oetUsrCode' => '',
718                    'oetSPAFitstPdtCode' => '0004500011',
719                    'oetBchCodeMulti' => '',
720                    'ohdCompCode' => '00001',
721                    'oetStaPrcDoc' => '',
722                    'oetStaDelQname' => '',
723                    'oetXthApvCodeUsrLogin' => '00002',
724                    'ohdLangEdit' => '1',
725                    'ohdXphStaApv' => '',
726                    'nDecimalShow' => '2',
727                    'ocbStaAutoGenCode' => 'on',
728                    'oetXphDocNo' => '',
729                    'oetXphDocDate' => '2023-02-23',
730                    'oetXphDocTime' => '16:52',
731                    'oetCreateBy' => '00002',
732                    'oetStaDoc' => 'N/A',
733                    'oetStaApv' => '',
734                    'oetUsrApv' => 'N/A',
735                    'oetSaleAdjAgnCode' => '',
736                    'oetSaleAdjAgnName' => '',
737                    'oetBchCode' => '00001',
738                    'oetSaleAdjBchName' => 'AdaSoft00001',
739                    'ocmXphDocType' => '1',
740                    'ocmXphStaAdj' => '1',
741                    'oetValue' => '100',
742                    'ocmChangePrice' => '1',
743                    'ohdBranchSalePrice' => '',
744                    'oetPplCode' => '',
745                    'oetPplName' => '',
746                    'oetXphDStart' => '2023-02-23',
747                    'oetCheckDate' => '1',
748                    'oetXphDStop' => '2024-02-23',
749                    'oetXphTStart' => '00:00',
750                    'oetXphTStop' => '23:59',
751                    'oetXphName' => '',
752                    'oetXphRefInt' => '',
753                    'oetXphRefIntDate' => '',
754                    'ocmXphPriType' => '1',
755                    'ocbXphStaDocAct' => '1',
756                    'otaXphRmk' => '',
757                    'ohdUPFViewBchCodeTCNTPdtAdjPriHDodvSPAShowDataTable' => '00001',
758                    'ohdUPFViewDocNoTCNTPdtAdjPriHDodvSPAShowDataTable' => '',
759                    'ohdUPFViewDocKeyTCNTPdtAdjPriHDodvSPAShowDataTable' => 'TCNTPdtAdjPriHD',
760                    'ohdUPFViewSessionIDTCNTPdtAdjPriHDodvSPAShowDataTable' => $tSesSessionID,
761                    'ohdUPFViewtElementIDTCNTPdtAdjPriHDodvSPAShowDataTable' => 'odvSPAShowDataTable',
762                    'ohdUPFViewtSeqFromTCNTPdtAdjPriHDodvSPAShowDataTable' => '0',
763                    'ohdUPFViewCallBackFunctTCNTPdtAdjPriHDodvSPAShowDataTable' => '',
764                    'oetSearchSpaPdtPri' => '',
765                    'oetSPAInsertScan' => '',
766                    'ohdFTPunCode1' => '00011',
767                    'ohdFTXpdShpTo1' => '',
768                    'ohdFTXpdBchTo1' => '',
769                    'ohdSPAFrtPdtCode' => 'ohdFCXtdPriceRet1',
770                    'ohdFCXtdPriceRet1' => '100.00',
771                    'nStaAction' => '1'
772                   );
773                $oOutput = $this->request(
774                    'POST',
775                    'document/salepriceadj/cSalePriceAdj/FSoCSPAAddEvent',
776                    $aParam
777                );
778                $this->assertStringContainsString('Success Add Sale Price Adj', $oOutput);
779                $this->assertResponseCode(200);
780            
781        
782        }
783
784
785
786        
787        public function test_เข้าหน้าแก้ไขเอกสารต้องสำเร็จ(){
788            print ' 17.เข้าหน้าแก้ไขเอกสารต้องสำเร็จ';
789            $ci = &get_instance();
790            $ci->load->database();
791            $tSQL="SELECT TOP 1 FTXphDocNo FROM TCNTPdtAdjPriHD WITH(NOLOCK)  WHERE ISNULL(FTXphStaApv,'') = '' ";
792            $aResult = $ci->db->query($tSQL);
793            $aPdtData  = $aResult->row_array();
794            if(!empty($aPdtData)){
795                $aParam = array(
796                    'tXphDocNo' => $aPdtData['FTXphDocNo']
797                   );
798                $oOutput = $this->request(
799                    'POST',
800                    'document/salepriceadj/cSalePriceAdj/FSvCSPAEditPage',
801                    $aParam
802                );
803                $this->assertStringContainsString('dcmSPAEventEdit', $oOutput);
804                $this->assertResponseCode(200);
805            }
806            
807        }
808
809        /**
810         * @large
811        */
812        public function test_ยกเลิกเอกสารต้องสำเร็จ(){
813        print ' 18.ยกเลิกเอกสารต้องสำเร็จ';
814        $ci = &get_instance();
815        $ci->load->database();
816        $tSQL=" SELECT TOP 1 FTXphDocNo FROM TCNTPdtAdjPriHD WITH(NOLOCK)  WHERE ISNULL(FTXphStaApv,'') = '' AND  ISNULL(FTXphStaDoc,'') != '3' ";
817        $aResult = $ci->db->query($tSQL);
818        $aPdtData  = $aResult->row_array();
819        if(!empty($aPdtData)){
820            $aParam = array(
821                'tDocNo' => $aPdtData['FTXphDocNo']
822               );
823            $oOutput = $this->request(
824                'POST',
825                'document/salepriceadj/cSalePriceAdj/FSoCSPAUpdateStaDocCancel',
826                $aParam
827            );
828            $this->assertStringContainsString('Updated Status Document Cancel Success', $oOutput);
829            $this->assertResponseCode(200);
830        }
831        
832        }
833
834        /**
835         * @large
836        */
837        public function test_อนุมัติเอกสารต้องสำเร็จ(){
838            print ' 19.อนุมัติเอกสารต้องสำเร็จ';
839            $ci = &get_instance();
840            $ci->load->database();
841            $tSQL=" SELECT TOP 1 FTBchCode,FTXphDocNo,FTXphDocType,FDXphDStart,FTXphTStart FROM TCNTPdtAdjPriHD WITH(NOLOCK)  WHERE ISNULL(FTXphStaApv,'') = '' AND  ISNULL(FTXphStaDoc,'') != '3' ";
842            $aResult = $ci->db->query($tSQL);
843            $aPdtData  = $aResult->row_array();
844            if(!empty($aPdtData)){
845                $aParam = array(
846                    'tDocNo' => $aPdtData['FTXphDocNo'],
847                    'tBchCode' =>  $aPdtData['FTBchCode'],
848                    'dDateStart' => date('Y-m-d',strtotime($aPdtData['FDXphDStart'])),
849                    'tTimeStart' => $aPdtData['FTXphTStart'],
850                    'tPplCode' => '',
851                    'tDocType' => $aPdtData['FTXphDocType']
852                   );
853                $oOutput = $this->request(
854                    'POST',
855                    'document/salepriceadj/cSalePriceAdj/FSoCSPAApproveEvent',
856                    $aParam
857                );
858                // print_r($oOutput);
859                $this->assertStringContainsString('"tStaMessg":"Success"', $oOutput);
860                $this->assertResponseCode(200);
861            }
862            
863        }
864
865
866        public function test_ลบเอกสาร_1_เอกสารต้องสำเร็จ(){
867            print ' 20.ลบเอกสารต้องสำเร็จ';
868            $ci = &get_instance();
869            $ci->load->database();
870            $tSQL=" SELECT TOP 1 FTBchCode,FTXphDocNo,FTXphDocType,FDXphDStart,FTXphTStart FROM TCNTPdtAdjPriHD WITH(NOLOCK)  WHERE ISNULL(FTXphStaApv,'') = '' AND  ISNULL(FTXphStaDoc,'') != '3' ";
871            $aResult = $ci->db->query($tSQL);
872            $aPdtData  = $aResult->row_array();
873            if(!empty($aPdtData)){
874                $aParam = array(
875                    'tXphDocNo' => $aPdtData['FTXphDocNo']
876                   );
877                $oOutput = $this->request(
878                    'POST',
879                    'document/salepriceadj/cSalePriceAdj/FSoCSPADeleteEvent',
880                    $aParam
881                );
882                $this->assertStringContainsString('"tStaMessg":"Delete Success."', $oOutput);
883                $this->assertResponseCode(200);
884            }
885            
886        }
887
888
889        public function test_ลบเอกสาร_2_เอกสารต้องสำเร็จ(){
890            print ' 21.ลบเอกสารต้องสำเร็จ';
891            $ci = &get_instance();
892            $ci->load->database();
893            $tSQL=" SELECT TOP 2 FTBchCode,FTXphDocNo,FTXphDocType,FDXphDStart,FTXphTStart FROM TCNTPdtAdjPriHD WITH(NOLOCK)  WHERE ISNULL(FTXphStaApv,'') = '' AND  ISNULL(FTXphStaDoc,'') != '3' ";
894            $aResult = $ci->db->query($tSQL);
895            $aPdtDataObj  = $aResult->result_array();
896            if(!empty($aPdtDataObj)){
897
898                 foreach($aPdtDataObj as $aPdtData){
899                    $aParam['tXphDocNo'][] = $aPdtData['FTXphDocNo'];
900                 }
901                
902                $oOutput = $this->request(
903                    'POST',
904                    'document/salepriceadj/cSalePriceAdj/FSoCSPADeleteEvent',
905                    $aParam
906                );
907                $this->assertStringContainsString('"tStaMessg":"Delete Success."', $oOutput);
908                $this->assertResponseCode(200);
909            }
910            
911        }
912        
913
914        public function test_คัดลอกเอกสาร(){
915            print ' 22.คัดลอกเอกสาร';
916            $ci = &get_instance();
917            $ci->load->database();
918            $tSQL="SELECT TOP 1 FTBchCode,FTXphDocNo,FTXphDocType,FDXphDStart,FTXphTStart FROM TCNTPdtAdjPriHD WITH(NOLOCK) WHERE ISNULL(FTXphStaApv,'') = '1' AND  ISNULL(FTXphStaDoc,'') = '1'  ORDER BY FDCreateOn ";
919            $aResult = $ci->db->query($tSQL);
920            $aPdtDataObj  = $aResult->row_array();
921            if(!empty($aPdtDataObj)){
922                $aParam = array(
923                    'tDocumentNumber'=> $aPdtDataObj['FTXphDocNo'],
924                    'tBchCode'=> $aPdtDataObj['FTBchCode']
925                );
926                $oOutput = $this->request(
927                    'POST',
928                    'document/salepriceadj/cSalePriceAdj/FStCSPACopyDocEvent',
929                    $aParam
930                );
931                $this->assertStringContainsString('Copy Documents Success', $oOutput);
932                $this->assertResponseCode(200);
933            }
934            
935        }
936
937        
938        public function test_ยกเลิกเอกสารหลังอนุมัติ(){
939            print ' 22.ยกเลิกเอกสารหลังอนุมัติ';
940            $ci = &get_instance();
941            $ci->load->database();
942            $tSQL="SELECT TOP 1 FTBchCode,FTXphDocNo,FTXphDocType,FDXphDStart,FTXphTStart FROM TCNTPdtAdjPriHD WITH(NOLOCK) WHERE ISNULL(FTXphStaApv,'') = '1' AND  ISNULL(FTXphStaDoc,'') = '1'  ORDER BY FDCreateOn ";
943            $aResult = $ci->db->query($tSQL);
944            $aPdtDataObj  = $aResult->row_array();
945            if(!empty($aPdtDataObj)){
946                $aParam = array(
947                    'tXphDocNo'=> $aPdtDataObj['FTXphDocNo'],
948                    'tSpaCancelReson'=> '97700'
949                );
950                $oOutput = $this->request(
951                    'POST',
952                    'document/salepriceadj/cSalePriceAdj/FSoCSPACancleEvent',
953                    $aParam
954                );
955                $this->assertStringContainsString('Success Cancle Sale Price Adj', $oOutput);
956                $this->assertResponseCode(200);
957            }
958            
959        }
960
961
962        public function test_อ้างอิงสินค้าจากเอกสารใบรับของใบซื้อ(){
963            print " 23.test_อ้างอิงสินค้าจากเอกสารใบรับของใบซื้อ \n";
964            $ci = &get_instance();
965            $ci->load->database();
966    
967                $aParam = array(
968                    'tTable' => 'TAPTPiDT',
969                    'tDocNo'=> 'PS000502300001',
970                    'tBchCode'=> '00050',
971                    'tXphDocNo'=> 'IP0005023000001',
972                );
973                $oOutput = $this->request(
974                    'POST',
975                    'document/salepriceadj/cSalePriceAdj/FSoCSPAPdtRefDocToTemp',
976                    $aParam
977                );
978                $this->assertStringContainsString('Insert Doc Temp to DT Success', $oOutput);
979                $this->assertResponseCode(200);
980            
981            
982        }
983
984
985
986        
987
988        public function test_อ้างอิงสินค้าจากเอกสารใบรับเข้า(){
989            print " 24.test_อ้างอิงสินค้าจากเอกสารใบรับเข้า \n";
990            $ci = &get_instance();
991            $ci->load->database();
992    
993                $aParam = array(
994                    'tTable' => 'TCNTPdtTwiDT',
995                    'tDocNo'=> 'WI0005023000001',
996                    'tBchCode'=> '00050',
997                    'tXphDocNo'=> 'IP0005023000001',
998                );
999                $oOutput = $this->request(
1000                    'POST',
1001                    'document/salepriceadj/cSalePriceAdj/FSoCSPAPdtRefDocToTemp',
1002                    $aParam
1003                );
1004                $this->assertStringContainsString('Insert Doc Temp to DT Success', $oOutput);
1005                $this->assertResponseCode(200);
1006            
1007            
1008        }
1009        
1010}