自動計算就是當使用者在出**時,當輸入了某產品的折扣後**、數量後,自動計算**小計、折扣率。由於jxtms的架構是web服務,所以如果將此功能放到後台來實現,則反應會相當的遲緩,使用者使用感受會非常難受。所以自動計算就放到web端來實現。
自動計算的實現:
以常見的銷售**為例,自動計算會用到:
所以自動計算共有三種:
/* 產品明細表每行的扣率 = ** / 列表價 的百分比 */
/* 產品明細表每行的列表價小計 = 列表價 × 數量 */
/* 產品明細表每行的**小計 = ** × 數量 */
/* 訂單的列表總價 = 產品明細表每行的列表價小計的彙總 */
/* 訂單的**彙總= 產品明細表每行的**小計的彙總 */
/* 訂單的**折扣率= **彙總 / 列表總價 的百分比 */
/* 訂單的成交金額= **彙總 - 折扣金額 */
/* 訂單的實際折扣率= 成交金額 / 列表總價 的百分比 */
自動計算語法中的計算表示式的語法為:
計算式 (算符 計算式)*
其中,演算法包括:+、-、*、/
計算式的語法:
計算單元 (算符 計算單元)*
左圓括號 計算單元 (算符 計算單元)+ 右圓括號
計算單元則包括:
(資料表名 .)? 變數名
數值
只有列計算中的計算單元有【資料表名.】的字首,其它兩種自動計算都不需要。
列計算的時候還支援按條件彙總,即當有【when 條件表示式】時,只有當條件表示式成立時,才彙總該行。列計算的完整語法為:
with div名 compute 資料名= 表名.列名 (frequency)? (when 條件表示式 (, 條件表示式)*)?
其中,如果有frequency,則不累加該列的數值,而是累加次數。
條件表示式的語法如下:
列名 比較符 值
列名 rule=正規表示式字串
其中,比較符和之前其它條件判斷語法中的比較符一樣,包括:等於【==】、不等【!=】、大於【>】、大於等於【>=】、小於【<】、小於等於【<=】、相似【like】共七種。值包括字串、數值、bool、日期等。 jxTMS web端的格式化顯示
在前文講解web端的自動計算時,筆者從order模組中的web檔案中拷貝其自動計算的定義作為例子時,突然看到了乙個控制項的定義 原因是在剛開始設計jxtms時,筆者非常看重資料字典的作用,所以當時定義的定義檔案中還有乙個專門用來定義程式中會用的資料的定義 alias檔案。該檔案所定義的資料就包含了該...
nginx 移動端和PC端自動跳轉
前提乙個官網,分別做了 pc 端和移動端,它們的資訊如下所示 平台 網域名稱描述 pc 端 www.one.compc 端官網 移動端m.one.com移動端官網 需求在 pc 端訪問www.one.com和m.one.com都跳轉到www.one.com,在移動端訪問www.one.com和m.o...
Weex iOS端的自動重新整理和除錯
最近開始接觸weex。目前weex尚不成熟,官方文件有些粗糙,初學者難免碰壁。這裡分享兩條我的初學經驗,供參考。weex有乙個網頁版的預覽工具,提供了修改 後自動重新整理頁面的功能。然而作為移動端開發,網頁版工具顯然不夠,我們需要在模擬器或者真實裝置中開發和除錯。nsstring hotreload...