檢視 開平食材採購系統 的原始碼
←
開平食材採購系統
跳轉到:
導覽
、
搜尋
根據以下的原因,您並無權限去做編輯這個頁面:
您剛才的請求只有這個使用者組的使用者才能使用:
使用者
你可以檢視並複製本頁面的原始碼。
[[分類:應用軟體]] ==文件== *[http://wiki.kpvs.tp.edu.tw/index.php/食材採購系統 開平wiki]<!--帳號:身份證字號--> *google 雲端硬碟/與我共用的項目 *#食材系統操作手冊 *#程式手冊 *#php程式說明 *#食材系統資料庫表格欄位說明 *[http://qq.kpvs.tp.edu.tw/ qq/0資訊中心123/食材系統暫存資料夾]<!--帳號jj9999--> *[https://www.evernote.com/shard/s335/sh/a61396ba-2a25-462d-acb7-e4b05ccc4669/b329e629a1e0946c33026a89dc9edfda 過去的 evernote 已不重要] *#按略過 ===PDF=== *[http://www.tcpdf.org/doc/code/classTCPDF.html 英文文件] ====PDF產生流程:參考 order2pdf.php==== #在 models/pdf-fax.php(直印)或 models/pdf.php(直印)產生 TCPDF 物件,並設定PDF相關資料,例如直印或橫印、紙張大小、邊界寬度、是否自動分頁、使用的字型等 #把要轉換成PDF的資料,例如食材清單等,都以HTML格式並加到變數 $html 中 #把變數 $html 透過 TCPDF 物件的方法 writeHTML() 暫存到記憶體中 #使用 TCPDF 物件的方法 Output 執行輸出 PDF。Output() 第一個參數是輸出的 PDF 檔名,如果如要指定儲存到伺服器的哪個資料夾中,則寫成「./資料夾名稱/PDF檔名」。第二個是輸出 PDF 的方式,I:使用瀏覽器顯示,D:下載到使用者的電腦中,F:儲存到伺服器 ====傳真流程:參考 fax.php==== #中華電信網路傳真只接受上傳 PDF 檔,所以把要傳真的資料轉成PDF檔,儲存到伺服器上的資料夾 files_upload #準備傳真所需的參數:廠商傳真號碼($receiver)、上傳的PDF檔名($msgbody)、是否立即傳真($sendtype)、預定傳真時間($sendtime,立刻傳真,就給空值) #使用 function fax_sent() 執行傳真,執行完畢會回傳「傳真代碼」(一個數字),儲存到資料庫中,以供後續查詢是否傳真成功,因為傳真機大約1、2分鐘才會接收到傳真要求。fax_sent() 的定義在 models/fax-lib.php #中華電信會自動重試三次,如果都沒有傳真成功,才會回傳失敗。 #執行 fax-result-all.php ,抓取資料庫中的傳真代碼,以查詢並更新傳真結果。如果傳真不成功,則會回傳失敗,否則只會是『已點選連結「傳真」』 #資料夾 files_upload 的 PDF 檔使用 cron 指令每天晚上刪除,避免佔用過多伺服器硬碟空間 ==網站== *測試與正式網站是同一台機器,只是不同資料夾 *正式網站 *#內網:10.80.8.18/port:22/SFTP/jj *#外網:kpftest.kpvs.tp.edu.tw/port:13587/SFTP/需要kvm-fz.ppk/jj *正式用 et 資料夾,給 kpfood 用。kpfood.kpvs.tp.edu.tw *新增 ett 資料夾,給 kpf_test 用。kpftest.kpvs.tp.edu.tw *#改 /config/constant.php,改 et 類別位置。 *#新增 ett 軟連結指向 ett 。 *資料庫 http://kpfpma.kpvs.tp.edu.tw/ ===架構=== /config site的常數 工作程式頭 /views /template header.php 等於 theme.php crontab 在位置在 /var/spool/cron 資料夾中 ==工作程式說明(以 food.php 為例)== ===基本載入=== # config/etable-lib.php #*載入 config/constant.php #*#不載入 wiki 解譯函式 wiki.php #*#缺函式 webContent :可投射wiki頁、投射資料表內容 #*#多函式 load_template :可載入指定的 view #*載入 etable.php #* new $ET #*指定 $ET 的登出錨點 # models/order.php #*載入 models/db-lib.php #*#函式 query($sql):傳回查詢結果。 #*#函式 select_query($sql):傳回查詢結果之陣列(使用 mysql_fetch_assoc )。 #*常用函式製備 # models/login.php:指定 $ET->loginTable # 取用 $_REQUEST['workControl']['o1id'] ===工作=== #若 catchText 載入 models/searchSelect.php #* models/searchSelect.php :由食材資料表找食材造 select 表單區塊,並 echo 出來。 #若剛完成插入一筆,則檢查請購單是否已有這筆食材, #*如果有以 javascript 送出 alert #*如果沒有則載入 food-list.php ( 請購單 main() 後再 load_template("footer.php")) #若非 catchText 也非剛完成插入一筆則:load_template("header.php") 再載入 food-list.php ===本程式使用的函式=== ==測試== ===排序 bug === *http://kpftest.kpvs.tp.edu.tw/quote-approval-each.php?workControl[vid]=1 *帳密 *下 SQL:UPDATE `kpfood_food_quote_online` SET `status` =2 WHERE `vid` =1 *排序、和 batch 衝突。改 etable.php 增加 batch 的執行條件須 execBatch 非 0 ,即可避開衝突。 ===請購單插入食材檢查=== *food.php 請購 *#叫 searchSelect.php 查表 kpfood_food_food 產生 select 及其諸 option *#回到 etable.php 的主程式其中 $action=='ins_ed' 或 $action=='inss' ,並且傳回 workControl[請購單編碼] *#再來要想怎麼檢查表 kpfood_food_order11 如果食材重複跳警告。 *#也可在更早 option 出現重複食材就跳警告。 ===請購單輸入食材不得重覆=== ====改 login.php ==== 在 javascript 中 function postData(dataSource,para,divID,a,waitMoment){…} ahr.onreadystatechange=function(){if(ahr.readyState==4 && ahr.status==200){ if(ahr.responseText.substr(0,5)=='alert'){eval(ahr.responseText.trim());} else{document.getElementById(divID).innerHTML=ahr.responseText;onAjax(a);} }}; ====food.php==== ===其他=== ====test.php==== *測試 batch 的 form 與額外的 form 巢狀時,瀏覽器不反應。 *最終導致額外的搬位置。 ====登出時跳到指定的路徑==== *在 login.php 中新增屬性 logoutTo 。
返回到
開平食材採購系統
。
導航
個人工具
登入
名字空間
頁面
討論
變換
檢視
閱讀
檢視原始碼
檢視歷史
動作
搜尋
導覽
首頁
近期變動
隨機頁面
使用說明
工具箱
連入頁面
相關頁面修訂記錄
特殊頁面
頁面資訊