# Set up
## คีย์ลัด
```
sh + alt //ใส่ comma 19,34,24
```
## ปิด captcha
```
ไปที่ develop->Web Settings-->enable disable all captcha ->เปลี่ยนค่าตรง value 0,1
```
## User Dev
```
itrm,itoper,itcm,itco,itoperm = Abcd123**
```
## Story Points
```
1 = 1 hr
2 = 2 hrs
3 = 4 hrs
5 = 1 day/ 8 hrs
8 = 2 days
13 = 3 days
20 = 4-5 days
40 = 6-8 days
```
## Email
```
investree
investme!
email:webdev@investree.co.th
password:Investree2022*
email: nararatn@investree.co.th
password: Pop12345
```
## PR
```
1.เอาเลข commit ของการ์ดที่จะทำ เรียงจากcommitแรกไปล่าสุด ให้เพื่อนเช็คก่อน
2.sourcetree-->เลือก Branch staging-->Fetch-->สร้าง Branch-->ชื่อตามที่พี่หยกบอก เช่นDEP-32
3.ไป VScode -->terminal-->git cherry-pick ตามด้วยเลขคอมมิท
3.1ถ้าข้าม commit ใช้คำสั่ง git reset --hard HEAD~1 (จน.เลข commit ที่ข้ามไป)
4.แก้ในไฟล์เดิม
4.1 **web.php**-->change version
'version' => '3.21.0',
'version_reksdana' => '3.21.0',
'version_bo_reksdana' => '3.21.0',
'version_bo' => '3.21.0',
'version_sbn' => '3.21.0',
----------------------------------
4.2 C:\xampp\htdocs\investree2\RELEASE_NOTES
**RELEASE_NOTES**
***เพิ่มไปนะ ไม่ใช่แก้ของเดิม pop
Version 3.21.0 (2022-06-10)
-Backoffice Improvement (PR : 10/06/2022, Deploy : 16/06/2022) release version : 3.21.0
***coppy jira
---------------------
4.3 C:\xampp\htdocs\investree2\VERSION
**ไฟล์ version** --->3.21.0(เปลี่ยนเลขตามที่พี่หยกให้)
5.เข้า Sourcetree ไป comit(change version 3.20.0 to 3.21.0 ) --->push เลือก DEP-32
6.pr-dev to stg
ขอ pr ที่ Bitbucket DEP-32-->staging--->add by default พี่บี
7.รวบรวม SQL สร้างไฟล์ชื่อ DEP-32.sql(ส่งในแชทeng) เข้า soucetree commit ขอ PR staging--->add Feri, xxxx
8.slack eng--->
@Feri Thai Account @AndhA Please check pull request DEP-31 to Staging again, Thank you.
@Abrar Bensar Machdiar Please run this script to staging, Thank you.
9.pr-stg to master แท็กพี่บี
10.อย่าลืมupdate พอทำ pr to master เสร็จ update ที่ dev ด้วย
10.1.bitbuget -->pr-->เลือก DEP-xx to Dev
slack eng--->@Feri Thai Account @AndhA Please check pull request DEP-31 to Master, Thank you.
***ที่ Mastter เขาแค่กด approve ไม่ต้อง deploy
***กรณ๊มีคอมมิทเพิ่มหลังจากที่ขอprไปเรียบร้อยแล้ว ให้ทำข้อ3(เข้า sourcetree--->push ),6,7
***การเอา DEP มาเทส(ถ้าหาบาน DEP-XX ไม่เจอให้กด Fetch ใน sourcetee)-> sourcetree--> แถบเมนู Origin เลือกบรานที่ต้องการ คลิกขวาที่บรานเลือก checkout
****New project เวลาทำ pr stg to master ให้ add พี่บี
```
## การเข้า New Project
```
yarn dev --->fe-backoffice-th-2,fe-frontoffice-th
php artisan migrate --port=9000
php artisan serve --port=9000 --->run api
ของ api ใช้ php artisan serve --port=9000
fe-backoffice-th-->ของ front ใช้ 1.yarn
2.yarn dev --port=9000
http://127.0.0.1:9000/api/auth/login
--------------------------------------
API System 5000 // yarn start:dev
API Bussines 4000
FontOffice 3000 //
BackOffice
```
## Forget password
```
forget password in localhost
เมลที่จะใช้ส่งรหัสผ่านไป-->เป็น mail ของ user นั้น แต่เวลาไปตั้งรหัสใหม่ไปเอาลิงที่เมลเรา
forget password in dev,staging-->มีลิงค์ส่งไปใน slack
```
## printf
```
dd('Wctl'.$id);
dd($x);
dump($invest_lender,$invest_lender);
dump("ecom=".count($invest_lender_ecom),"inv=".count($invest_lender_inv));
{{dd($x)}} --> blade.ph
{{dump('tttttttt')}}
echo"string".ตัวแปร."<br>"
console.log()
```
## คำสั่งการสร้าง controller
```
ทำ Api
1.พิมพ์ 'php artisan' (เพื่อดูคำสั่ง)
2.'php artisan make:controller ตามด้วยชื่อไฟล์หรือ / โฟเดอร์เข้าไปก่อนต่อด้วย(\)'
craeted page in project api-->php artisan ดูคำสั่ง make -->php artisan make:resource ชื่อไฟล์
```
## Commit ผิด branch แต่ยังไม่ Push
```
- ออกจาก branch dev ไปบานตัวเองแล้วใช้คำสั่ง git cherry-pick ตามด้วยเลขคอมมิท
- แล้วไปลบบาน dev ทิ้ง (ติ๊กถูก ฟรอส ด้วย)
- แล้วไปที่ origin ไปดับเบิ้ลคลิก dev ออกมา
```
# Issuer ขอออกหุ้นกู้
## บทนำ
```
ประเภทผลิตภัณฑ์
-invoice
Full
partial
-WCTL
```
## Register Issuer
```
การสมัคร issuer
1.สมัครจากหน้าบ้าน

2.เปิด backoffice
-แถบเมนู Registration lead form list->action ลูกตา-->
**ใส่ข้อมูลช่องที่เป็น Empty ให้หมด
2.1 Relationship Manager in Charge = IT sale
3.เข้าเมลไปกรอก password
- กรอกข้อมูลบริษัท
- การขอออกหุ้นกู้คราวด์ฟันดิง
- กรอกข้อมูลเพิ่มเติม เช่น บัญชีธนาคาร กรอกหน้าบ้าน
- แถบเมนู Business list -->action ติ๊กถูก sure to approve this issuer to dashboard
4.Unverified Acount -->Backoffice-->Tab business list
4.1 Action view ดูแถบ
- Personal information ดูที่หัวข้อ
Relationship Manager in Charge = it sale
AML/CFT = PASS
- Survey Result
4.2 Action Approve to dashboard --> click btn Approve loan(ถ้าไม่ใช่ครั้งแรก อาจจะข้าม)
```
## Invoice
```
หลังจาก Issuer ของออกหุ้นกู้จากหน้าบ้านเรียบร้อย เข้า itrm
1. Backoffice-->Tab Business workbench-->new loan-->
หาชื่อ issuer-->Action RM Preliminary กรอกข้อมูลในหัวข้อดังนี้
- Borrower Information
Borrower Initial ตั้งชื่อห้ามซ้ำกับ loan อื่น
- Invoice Information
- Payor Information
2.backoffice-->Tab business workbench-->new loan-->
หาชื่อ
ใช้ user -->itcm ในการเข้า Request CA
issuer-->Action View loan datail --> click button Request CA
2.1*** กรณีที่กด Request CA ไม่ได้
- Please select RM for this loan --->Relationship Manager in charge = IT sale (อยู่ในหน้า backoffice-->Tab business workbench-->new loan-->
หาชื่อ issuer-->Action View loan datail)
- Survey Result or Company or Description ไปหน้า Business list -->ดูชื่อ issuer ที่ต้องการ --> Action view
2.2*** กรณีที่กด Request CA ได้
พอกด backoffice-->Tab business workbench-->new loan-->
หาชื่อ issuer-->Action View loan datail --> click button Request CA ได้เรียบร้อยมันจะพามาหน้า backoffice-->Tab business workbench--> Request for CA เอง --> ดูชื่อ issuer --> Action View loan datail --> click btn Approve loan
3.Create CA --> ดูชื่อ issuer --> Action Create Credit Assessment
กรอกข้อมูลแถบ
- Input Information
- Update Loan Information
- Grading Information
- Factsheet Information
- CA form
Credit Analyst = itcm ,Credit Analyst = ITCC
- CA Previe
click btn Submit to Credit Manager
4.backoffice-->Tab business workbench-->Check CA --> ดู issuer --> Action Check Credit Assessment -->selete Action = submit to Credit Assessment แล้ว click btn submit หลังนั้นมีเมลเข้ามา
5.ออกไปเข้า user: itcc ,pass: Abcd123**
backoffice-->Tab business workbench-->Check CA --> ดู issuer --> Action Check Credit Assessment
ตรงหัวข้อ note 5 ตัวอักษร, status: Approve --> click btn submit
6.เข้า user:itcm
backoffice-->Tab business workbench-->Check CA --> ดู issuer -->
- Action Perpare send term sheet -->เลือกวันที่ส่ง แล้ว click btn submit
- Action Send term sheet -> ไปที่แถบ view face sheet -->เลือก send to ..... --> click btn send term
7.มันจะส่งไป email click link --> ให้กดยอมรับ
8.user: itoper
backoffice-->Tab business workbench-->pre-loan-listing --> ดู issuer --> Action loan listing ดูที่หัวข้อ
Dashboard สามารถลงทุนได้ = ลงทุนได้ แล้ว click btn Approve to listing
**** loan นี้เรียบร้อยสามารถให้นักลงทุนมาลงทุนได้เลย
9.พอลงทุนเสร็จไป Manual Funding - Update Manual Funding ไปเปลี่ยน status นักลงทุน
10.
```
### Disbur invoice
```
1.backoffice-->Tab business workbench-->loan disbursment Maker-->หา loan ที่ต้องการ -->Actioc Disbursement Document--> PDC file ใส่ file-->Ready To Dibuse
2.backoffice-->Tab business workbench-->loan disbursment Maker-->หา loan ที่ต้องการ -->Actioc loan Disbursement-->withholding Tax ติ๊กหักด้วย ,Investor fee ให้เลือก Chage แล้วกด Disbursment แล้วมันพาไปหน้า Investree loan Disbursment ให้กดปุ่ม disbursment ทุกอันเลย แล้วกดกาบาทมุมบนขวา
3.backoffice-->Tab business workbench-->loan disbursment checker-->หา loan ที่ต้องการ -->Actioc loan Disbursement-->มี popup ถามว่า You want to Disbursement before ตอบ Yes --> พามาหน้า Business loan Disbursement Checker ตรง investor fee เลือก comfirm แล้วกดปุ่ม Disbursement พามาหน้า Business loan loan Disbursement Checker กดปุ่ม Disbursement อีกครั้ง
```
### Repayment invoice
```
1.backoffice-->Tab business workbench-->loan Repayment Maker-->action Borrower Repayment-->หัวข้อแรกเลือก full and partial,withhodling tax ต้องติ๊ก(แล้วแต่นะ),Repayment Amount คือยอดรวมทุกอย่างที่ issuer ต้องจ่าย, partial repayment amount ใส่จน.เงินที่ issuer จ่ายมาเท่าไรก็ได้--> กดปุ่ม Add Repayment Maker มี poppu ตอบ yes
2.backoffice-->Tab business workbench-->loan Repayment checker-->action Borrower Repayment-->กดปุ่ม comfirm Repayment มี popup ตอบ yes
```
### การคิด late
```
- Partial(จ่ายยอดเท่าไรก็ได้) - จ่ายภายในวัน dute คิด 30 วัน
- จ่ายหลัง dute คิด 30 + จำนวนวันที่เลย dute
- wctl(จ่ายเท่ากันทุกงวด)
```
## ออกหุ้นกู้เป็น WCTL ทำที่ backoffice
```
หลังจาก Issuer ของออกหุ้นกู้จากหน้าบ้านเรียบร้อย เข้า itrm
1. Backoffice-->Tab WCTL Workbenk-->New loan --> Action RM Preliminary -->กรอก แถบ ฺBorrower information กด submit กดให้ครบน่ะ, แถบ loan information กด submit
2.Backoffice-->Tab WCTL Workbenk-->New loan --> Action view loan detail-->กดปุ่ม Request CA มันพามาหน้า Request CA ให้ดูที่ Action view loan detail กดปุ่ม appove Request
3.Backoffice-->Tab WCTL Workbenk-->Credit Assessment-->Action Create Credit Assessment-->กรอกให้ครบ แถบ Loan information,Grading Information, Factsheet information, CA Form ให้เลือกมาล่างสุดเลย ตรงหัวข้อนี้ให้เลือก Credit Analyst-->IT Credit Manager และ Credit Comitte from Credit Analyst--->ไม่ชัวนะ เลือกเครดิตทดสอบ ล่ะกัน แล้วกด Submit, CA Preview เลื่อนมาล่างสุด กดปุ่ม Submit to Manager
4.
```
## Add bank
```
Tab menu Business List-->Action View-->Bank information
Condition Bank
-ถ้าเลขนิติเดียวกันมีใช้บัญชีซ้ำได้(ธนาคาร+เลขบัญชี+เลขบราน)
-ธนาคารพิเศษ
ออมสิน-> 999+ตัวแรกของเลขบัญชี
ทิสโก-> 4ตัวแรกของเลขบัญชี
มิซูโฮจำกัด สาขากรุงเทพ-> 0001
อื่นๆ -> ใส่ไรก็ได้
**branch_bank 4 ตัวเท่านั้น
```
## Login
### Individual
```
# Investor นักลงทุน
### Individual
1.กรอกข้อมูลนักลงทุน สมัครจากหน้าบ้าน
2.ดูเมลจะมี link ให้กรอกข้อมูลเลขหลังบัตร เราจะไม่กรอกให้ไปหลังบ้านเข้าเมนู
Dopa(Force Approve) (อยู่ล่าง Investor list)->Action กด Active แล้วกลับมาทำหน้าบ้านต่อ
_________________________
เจ้าหน้าที่จะเซตให้ (user:itoper)
1.เข้า Backoffice ->Tab Investoer list ->ดูชื่อเพิ่งสมัครมา -> Action ตา ->
- Personal information มีให้กด Complete 2 ที่
- Bank Information
- Domicile Address
- Lender Data ข้อมูลผู้ให้กู้
- Referral Information
- Investable Loan สินเชื่อเพื่อการลงทุน
- Invest Limit ->ลิมิตในการลงทุน, subtype,Withholding Tax Rate,Investor Fee Rate
2.Action เกียร์ status -> กด Sucess
***นักลงทุนเข้าไปลงทุนได้เลย
```
### Juristic นิติ
```
1.กรอกข้อมูลนักลงทุน สมัครจากหน้าบ้าน
2.ดูเมลจะมี link ให้กรอกข้อมูลเลขหลังบัตร เราจะไม่กรอกให้ไปหลังบ้านเข้าเมนู
Dopa->Action กด Active แล้วกลับมาทำหน้าบ้านต่อ
_________________________
เจ้าหน้าที่จะเซตให้ (user:itoper)
1.เข้า Backoffice ->Tab Investoer list ->ดูชื่อเพิ่งสมัครมา -> Action ตา ->
- Personal information มีให้กด Complete 2 ที่
- Bank Information
- Domicile Address
- Lender Data ข้อมูลผู้ให้กู้
- Referral Information
- Investable Loan สินเชื่อเพื่อการลงทุน
- Invest Limit ->ลิมิตในการลงทุน(Invest Limit per Issue,Total Invest Limit) = No limit, subtype,Withholding Tax Rate,Investor Fee Rate
2.Action เกียร์ status -> กด Sucess
***นักลงทุนเข้าไปลงทุนได้เลย
```
## Invest
### ถ้ามีการลงครบ 100%
```
user: itoper ,itoperm
ให้เข้า update status ของนักลงทุนที่ลงทุนใน load ที่ลงครบ 100 %
itoer-> Manual Funding ->Update Status Funding-->Action เกียร์ (update status)-> set status =Funded
```
### Disbursement maker จ่ายเงินให้ Issuer (itoper) invoice
```
1.Business workbench -> loan-disbursement-maker -> ดู Issuer ->Action (Disbursement Document)-> upload file -> กด Ready to Disburse
->Action เงิน -> กด Disbursement(ด้านล่างสุด) ก่อนกดสามารถเซ็ตค่า Withholding_Tax,ค่าธรรมเนียม ได้ -> จะพามาหน้า Investree Loan Disbursement ให้กด Disburs ทุกคนเลย
```
## Disbursement checker จ่ายเงินให้ Issuer (itoperm) invoice
```
1.Business workbench -> loan-disbursement-checker -> ดู Issuer ->Action เงิน-> ดูที่ Investor Fee กด Confirm ก่อน แล้วกด Disbursement->จะพามาหน้า Business Loan Loan Disbursement Checker กด Disburs
```
## Repayment Maker จ่ายเงินให้ Investor (itoper) invoice
```
1.Business workbench -> loan-Repayment-maker -> ดู Issuer ->Action เงิน-> ติ้ก Withholding_Tax,set RepaymentType,Late fee ถ้า = 0 ไม่ติ้ก, set Destination Bank-> กด Add Repayment maker
```
## Repayment checker จ่ายเงินให้ Investor (itoperm) invoice
```
1.Business workbench -> loan-Repayment-checker -> ดู Issuer ->Action เงิน-> กด Confirm Repayment
```
# DataBase
## ชื่อบริษัทของ WCTL
```
อยู่ใน borrower_primary_data ไม่ได้เก็บใน ecommerce_primary_data
FROM ecommerce_loan_data
INNER JOIN ecommerce_primary_data on eld_epd_id=epd_id
INNER JOIN borrower_primary_data on epd_bpd_id=bpd_id
```
## แก้ไข Password
```
bo_user
bo_passwd=178bf2122602d027a26d0974547890ac0d6b33f7
```
# Error
## Array to string conversion
```
Array to string conversion-->ค่าที่ส่งไปต้องเป็นชนิดเดียวกัน เช่น เป็นสติงก็ต้องสติงทั้งหมดหรืออายาเรย์ทั้งหมด แต่อาร์เรย์ที่ระบุ index ก็ถือเป็นสติง
```
## Trying to get property of non-object
```
```
# New project
## web setting
```
- clone project มาใหม่ใช้คำสั่ง yarn install , yarn start:dev
- ใช้ตาราง mr_config_setting ไม่ได้ใช้ mr_config_template
```
##
```
```
# Back_end
## Controller
```
php artisan make:controller ตามด้วยชื่อไฟล์
App/http/Controllers/Api/Investor/Statements
ดับข้อมูลเพื่อส่งไปให้(sendResponse)
```
## Resource
```
php artisan make:resource ตามด้วยชื่อไฟล์
ทำข้อมูลให้เป็นอาร์เรย์
```
## Collection
```
```
## routes
```
# node.js+nest.js
## คำสั่ง
### สร้าง Controller,Service,Module
nest g resource ตามด้วยชื่อ folder
มันถามเอง--> What transport layer do you use? เลือก REST API
มันถามเอง--> Would you like to generate CRUD entry points? เลือก N
### Run Project
vue-> yarn dev,yarn install
node-> yarn start:dev
# เขียน flow
new cfd -->DOCs new site-->flow-->backoffice-->mastersetting
```