1 กรกฎาคม 2568

 RCLONE


ย้ายข้อมูล จาก cloud ---> cloud 

เช่น Googl Drive ----> Google Drive

ขั้นที่ 1: ติดตั้ง rclone

🔹 บน Linux / macOS:

bash
curl https://rclone.org/install.sh | sudo bash

🔹 บน Windows:

  1. ดาวน์โหลด: https://rclone.org/downloads/

  2. แตก zip → เข้าโฟลเดอร์ → เปิด PowerShell / CMD

  3. สั่งงานโดยใช้ไฟล์ rclone.exe


🧰 ขั้นที่ 2: ตั้งค่า Remote สำหรับ Google Drive A และ B

รันคำสั่ง:

bash
rclone config

จะมีเมนูขึ้นแบบนี้:

pgsql
n) New remote s) Set configuration password q) Quit config

ทำตามนี้ 2 รอบ (รอบแรกตั้ง A, รอบสองตั้ง B):


🔹 2.1 เพิ่ม Remote ใหม่

เลือก n → ตั้งชื่อ เช่น gdriveA

shell
name> gdriveA

🔹 2.2 เลือก cloud provider → พิมพ์เลข 18 (สำหรับ Google Drive)

shell
Storage> 18

🔹 2.3 ใช้ค่า default:

scss
client_id> (Enter) client_secret> (Enter) scope> 1 (Full access)

🔹 2.4 อื่น ๆ:

scss
root_folder_id> (Enter) service_account_file> (Enter)

🔹 2.5 ใช้ Auto Config (ตอบ yes):

ถ้าอยู่ใน GUI environment หรือ browser เปิดได้:

arduino
Use auto config? > y

จะเปิด browser ให้คุณ log in บัญชี A → กดอนุญาต

🔹 2.6 ตอบ no ตรง advanced config:

csharp
Configure as a team drive? > n

🔹 2.7 เสร็จแล้ว → เลือก y → กลับไปที่เมนู


🔁 ทำแบบเดียวกันอีกครั้ง เพื่อเพิ่ม Google Drive B → ตั้งชื่อเป็น gdriveB


🚀 ขั้นที่ 3: ทดสอบดูรายการไฟล์

ลองดูว่าเห็นข้อมูลจากบัญชี A หรือไม่:

bash
rclone ls gdriveA:

ถ้าเห็นรายชื่อไฟล์/โฟลเดอร์ แสดงว่าพร้อมใช้งานแล้ว ✅


🚚 ขั้นที่ 4: เริ่มย้ายข้อมูล

🔹 ถ้าจะ คัดลอกทั้งหมด จาก A → B:

bash
rclone copy gdriveA:/ gdriveB:/backup-from-A --progress
  • copy = คัดลอก (ยังไม่ลบไฟล์ต้นทาง)

  • / = root ของ Google Drive A

  • backup-from-A = โฟลเดอร์ปลายทางใน Google Drive B

🔹 ถ้าต้องการ ย้าย (ลบจาก A หลังย้ายเสร็จ):

bash
rclone move gdriveA:/ gdriveB:/backup-from-A --progress

⚙️ ตัวเลือกเพิ่มเติม:

คำสั่งเสริมความหมาย
--dry-runทดลองโดยไม่ย้ายจริง
--delete-empty-src-dirsลบโฟลเดอร์ต้นทางที่ว่างหลังย้าย
--max-transfer 15Gจำกัดการย้ายต่อวัน (ใช้ถ้า quota Google จำกัด)
--log-file logfile.txtบันทึก log ไฟล์
--transfers=4จำนวนไฟล์ที่ส่งพร้อมกัน (เพิ่มได้ถ้าเน็ตเร็ว)


rclone copy gdriveA:/ gdriveB:/backup-from-A \
  --progress \
  --log-file=rclone-copy.log \
  --log-level=INFO \
  --suffix="-copy" \
  --suffix-keep-extension

🔍 อธิบายแต่ละส่วน:
พารามิเตอร์ ความหมาย
gdriveA:/ ต้นทาง (root ของบัญชี A)
gdriveB:/backup-from-A ปลายทาง (จะสร้างโฟลเดอร์นี้ใน Drive B)
--progress แสดงสถานะการโอน
--log-file=rclone-copy.log บันทึกผลลัพธ์ไว้ในไฟล์ log
--log-level=INFO เก็บ log ระดับข้อมูลทั่วไป
--suffix="-copy" ถ้าไฟล์ชื่อซ้ำ ให้เติม -copy
--suffix-keep-extension เติมก่อนนามสกุล เช่น photo-copy.jpg ไม่ใช่ photo.jpg-copy
--ignore-existingข้ามไฟล์ชื่อเดียวกันทั้งหมด (แม้เนื้อหาเปลี่ยน)
--updateคัดลอกเฉพาะไฟล์ที่ยังไม่มี หรือใหม่กว่าในปลายทาง
❌ ไม่มี option เลยทุกไฟล์จะถูกคัดลอกซ้ำ ถ้าเนื้อหาไม่เหมือน
----------------------------
Generate By Chatgpt.

26 เมษายน 2568

การปรับราคาขายของ ยา ใน JHCIS

UPDATE
cdrug
inner JOIN
(SELECT # สุดท้ายเอาทศนิยมมาบวกกับราคาจำนวนเต็มตามราคาทุน
tmp3.drugcode,
tmp3.drugname,
tmp3.cost,
tmp3.sell,
tmp3.drugcost,
case when tmp3.cost <10 then tmp3.sumcost+tmp3.point10
     when tmp3.cost between 10.01 and 100 then tmp3.sumcost+tmp3.point100 else tmp3.sumcost+tmp3.point1000 end as resultsell
FROM
(SELECT #select ที่ 3 ให้เป้น tmp3 เพื่อจัดการกับทศนิยม
tmp2.drugcode,
tmp2.drugname,
tmp2.cost,
tmp2.sell,
tmp2.drugcost,
tmp2.sumcost,
tmp2.pointcost,
case when tmp2.pointcost < 0.12 then 0
   when tmp2.pointcost between 0.13 and 0.37 then 0.25
   when tmp2.pointcost between 0.14 and 0.62 then 0.5
   when tmp2.pointcost between 0.63 and 0.87 then 0.75 else 1 end as point10,
case when tmp2.pointcost < 0.25 then 0
   when tmp2.pointcost between 0.26 and 0.75 then 0.5 else 1 end as point100,
case when tmp2.pointcost < 0.5 then 0 else 1 end as point1000
from
(SELECT #select ที่สอง เพื่อให้หาจุดทศนิยาไปคำนวน ให้เป็น tmp2
tmp.*,
floor(tmp.drugcost) as sumcost,
tmp.drugcost-floor(tmp.drugcost) as pointcost
from
(SELECT #Select ที่ 1 เพื่อให้เป็น tmp1
cdrug.drugcode,
cdrug.drugname,
cdrug.cost,
cdrug.sell,
CASE when cdrug.cost between 0 and 0.2 then 0.5
   when cdrug.cost between 0.21 and 0.5 then 1.0
   when cdrug.cost between 0.51 and 1.0 then 1.5
   when cdrug.cost between 1.01 and 10.00 then 1.5+((cdrug.cost-1)*1.25)
   when cdrug.cost between 10.01 and 100.00 then 13+((cdrug.cost-10)*1.2)
   when cdrug.cost between 100.01 and 1000.00 then 126+((cdrug.cost-100)*1.15)
   when cdrug.cost > 1000.00 then 1161+((cdrug.cost-1000)*1.1) else 0 end as drugcost
FROM
cdrug) as tmp
order by tmp.drugname) as tmp2) as tmp3) as drugsell
on cdrug.drugcode = drugsell.drugcode
set cdrug.sell = drugsell.resultsell
where cdrug.drugtype = '01'

----------------------------------------

 อ้างอิง : https://jhcissw.blogspot.com/2017/