EEP EEP Workflow Foundation EEP NET Visual StudioC
- Slides: 124
EEP架構 EEP Workflow Foundation EEP. NET Visual Studio(C#, VB) j. Query ASP. NET Win. Form Base Class Library CLR (Common Language Runtime ) Mobile Web Windows
N-Tier與SOA架構 IIS Server Web Client Int EEP A/P Server ern Mobile et net r e t In Windows Client dll Database Server aspx net r e t In dll Server Method Workflow Foundation
j. Query架構與MVC
EEP安裝 • SETUP EEP • init. EEP (Info. Remote. Module, Srvtools) • EEPServer. EXE • DB Manager • Create System Table • Install EEP Wizard • Install Design Component
資料庫相關設定 • 設定存在EEPNet. Server/DB. XML • Oracle,安裝Oracle Instance Client 32與64位元, 連線字串加上Unicode=True • My. SQL,安裝Drive for Dotnet,複製My. SQL. Data. dll 到EEPNet. Server下,重Build Srvtools、GLModule • EEP使用的系統資料表,需設定定序為不區分大小寫, 因為有時候EEP會select * from users,有時候會select * from Users
產生新方案 執行Wizard Create Solution • 設定Solution Name, 選擇 JQuery/RWD •
Wizard單檔設計
單檔設計 DB Server A/P Server IIS Server Data. Grid select dump Info. Comm and Get Columns Binding HTML bootstrap. infol ight. js Binding View Controller Insert/Update/Delete Update. C omp Insert/Update/Delete Model Databa se
Server端開發(Model) 使用EEP Server Wizard (SBASIC. DLL) • 選資料表: Customers , Products Employee • 掛接在EEP Net Server上 •
Common: 跨方案共用 Server. Package • 用於跨專案、公用的Server. Package • Runtime先抓取指定Solution目錄下的Server. Package,找不到 再去Common目錄下找 • 不同Solution而Server. Package同名的情況下,Load in memory 必須勾選起來,若不勾,不同Solution內不能有同名dll
Server端元件 • Info. Command. Text, Key. Fields, Select. Paging Sec. Style, Site. Control, Before. Execute. SQL • Update. Comp Except. Join, Field. Attr, Server. Modify, Select. Cmd. For. Update Insert/Delete/Modify/Apply(Before/After)
Command. Type Text: SQL命令句,一般都是設定為Text,預設也是。 Stored. Procedure: 資料庫的存儲程序。 說明文件: http: //www. infolight. com. tw/download/file/Info. Command使用存儲過程. doc Table. Direct:無效屬性
Wizard單檔設計一 1. 2. 3. 4. 5. 使用EEP Wizard,選RWD Form EEPAlias選ERPS output目錄選CLASS 樣板選RWDSingle 1,Form. Name為WCUSTOMERS Provider Name 資料來源,選SBASIC. Customers
選單掛載 開� EEPManager System/Security Manager/Menu Ultility 選取rwd節點/點Add按鈕 Caption: 輸入客戶管理 Package: 選CLASS/WCUSTOMERS,OK按鈕存檔 選客戶管理節點/點Access Groups按鈕選取Every. One群組 ,按下>按鈕
登入畫面 • 可在web. config設定 <add key="Default. Database" value=“EPRS"/> <add key="Default. Solution" value="CLASS"/>
Default元件處理 JS,Remoto. Method=False <script> function getaddress() { return '新北市' ; } </script> • 設定 RWDDefault元件 到職日(Hire. Date): _TODAY 國家(Country): 中華民國 地址(Address): Default. Method=getaddress (Client)
預設值可寫在 Server端程式( 範例程式,不實作練習 ) 寫在Update. Component的Before. Insert事件 private void uc. Orders_Before. Insert(object sender, Update. Component. Before. Insert. Event. Args e) { if (uc. Orders. Get. Field. Current. Value("欄位A"). To. String() == "1") { uc. Orders. Set. Field. Value("欄位B", "0"); } } //存檔前去別的資料表撈資料,存入特定欄位 private void ucleave_check_Before. Insert(object sender, Update. Component. Before. Insert. Event. Args e) { string user_id = ucleave_check. Get. Field. Current. Value("user_id"). To. String(); string sql = "select top 1 DEP_NAME from leave Where user_id='" + user_id + "' order by id desc"; Data. Set Tmp = Execute. Sql("info. Command 1", sql, "CDRI", true); ucleave_check. Set. Field. Value("DEP_NAME", Tmp. Tables[0]. Rows[0][DEP_NAME, "]. To. String())) }
Validate元件處理 C#,Remoto. Method=True • 設定 RWDValidate元件 1. 公司編號(Customer. ID): Check. Null=True 2. 信用額度(Credit. Amount) Range. From: 1,Range. To: 500 另外可設定RWDData. Form,Prompt: 單位為萬 3. 聯絡人(Contact. Name): Validate. Type: email 3. 地址(Address): Check. Null=True, Call. Method=validatecity (Remote) 4. 郵遞區號(Postal. Code): Check. Null=True, Call. Method=Check. Postal (Client) 5. 重複檢查,在data. Form設定: duplicate. Check: true public bool validatecity(string value) { string str = value. Substring(0, 3); if (str == "台北市" || value == "新 北市") return true; else return false; } validate massage JS,Remoto. Method=False function Check. Postal(value) { if (value[0] >= '0' && value[0] <= '9') { return true; } else return false; } Data. Form可設定Dupli. Check
多檔關連設計 IIS Server dump Infolight. js Binding Insert/Update/ Delete DB Server A/P Server Master Info. Com mand Update Comp select Insert/Update/ Delete Info. Dat a. Source Detail Info. Co mmand Relation Update. C omp Master Data. Grid Detail Data. Grid Database Insert/Update/ Delete
Server端多檔開發 (Model) 使用EEP Server Wizard (SORDERS. DLL) • Update. Comp定Server. Modify. Get. Max=True • SORDER掛接在EEP Net Server上 •
Server端多檔開發 (Model) 兩個Table的Relation務必要設定
Wizard多檔設計 使用EEP RWD Wizard • 選擇 RWDMaster. Detail 1設計訂單管理 (WORDERS) •
欄位的Control Type • Combobox (Country) • Date (Last. Ordered. Date) • Radio. Button (Country) • Check. Box (Country) • Slider (Credit. Amount) • Switch(Married) • Ref. Val(Customer. ID)
switch設計 開� WEMPLOYEES RWDData. Form,Married的Editor設定為switch • Editor. Options設定如圖 • •
Date. Box設計 支援欄位: Date. Time, Date, Varchar(8), Varchar(10) 1. 設定生日欄位 : RWDData. Form的Columns屬性, /Birth. Date. Editor: datetimebox 2. 設定到職日欄位 : Editor: datebox,Fotmat: yyyy-mm-dd
Combox設計 • • Editor設定為combobox (WEMPLOYEE/區域) 設定Items即可(固定值) 設定Editor. Options: 1. Remote. Name, 2. Value. Member, 3. Display. Member 設定Multile可複選
Refval設計 設定dataform中的Columns (WORDERS) • 以info. Ref. Val來做為關聯設定 •
Image的上傳 1. RWDData. Form,Photo. Path的Editor設定為 fileupload 2. 設定Filter=jpg|png,Show. Tyle=image及 Upload. Folder=Image
Image的顯示 RWDData. Grid的照片欄位,設定Format為 image, folder: Image
查詢設計 1. 使用EEP Wizard,選RWD Form 2. EEPAlias選ERPS 3. output目錄選CLASS 4. 樣板選RWDQuery ,Form. Name為QORDERS 5. Provider Name 資料來源,選SORDER. Orders
加總與其他功能 • • • Total設定(sum/count/max/min/average) Format: N 2(小數兩位+', ') Sortable: True(排序)
Excel 輸出
Format設定 • 日期: yyyy mm dd YYY. - / (yyyy. mm. dd mm/dd/yyyy) • 數值: Nn Cn (C 2, N 3) • 邏輯: L, x 1, x 2 (L, 是, 否) • 字串: ? ? X O (? OO? ? ? ) • 其他: Image, Download, (Image, Folder=Files, Height=6 0)
Format. Script的處理 • • 設定 data. Grid的Columns. Format. Script為color. Value 設計一個color. Value的JS程式: <script type="text/javascript"> function color. Value(val, row) { if (val > 100) { return "<div style="color: Red">" + val + "</div>"; } return val; } </script>
i. Coder設計
i. Coder 示意圖
Detail的Auto. Seq Form編輯 Grid編輯 • • • 貼入RWDAuto. Seq (WORDERS) 設定Binding. Object. ID為df. Detail 設定Field. Name為Seq, Num. Dig為 1 df. Detail的Edit. Form屬性可清空,變成直接編輯 Auto. Seq位置與Binding. Object調整
Auto. Number元件 設計SBASIC的客戶編號為自動編號 • 貼入Auto. Number, 設定Auto. ID, Update. Comp, Target. Column, Get. Fixed, Num. Dig, Start. Value, Step •
Auto. Number元件 public object MYGETDATE() { string ret = "ZZ" + uc. Customers. Get. Field. Current. Value("City"). To. String() + System. Date. Time. Today. To. String("yy. MMdd"); return ret; } 結果: ZZTPE 200101001 ZZTPE 200101002 ZZKYO 200101001 ZZOKA 200101001 ZZTPE 200101003 ZZKYO 200101002
Transaction設計
Transaction原理 DB Server Database select A/P Server Info. Command Active Insert/Delete/Update. Comp Update (inc/dec/replace) Apply Client Info. Data. S et Trans Mode: Auto. Append Exception Ignore Always. Append
Transaction的實例 Orders DB Server A/P Server select Master Info. Command Client Insert/Delete/Update Master Update. Comp Active Apply Customers Inc Ordered. Amout Replace Last. Ordered. Date select Detail Info. Command Master CDS Insert/Delete/Update Detail Update. Comp Apply Detail CDS Order Details Inc Units. On. Order Replace Last. Ordered. Price Products
Transaction設計 • Orders Transaction : Customers Order. Date Replace Last. Ordered. Date • Order Details Transaction: Products Unit. Price Replace Last. Unit. Price Quantity Inc Units. On. Order
Server Method 設計
Server Method原理 ii. S Server Call Aspx Code DB Server A/P Server Service. M anager select Server Method 1 …… Remote Call Server Method 2 …… Browser Server Method 3 …… Info. Com mand JS Call Databas e Server Method 4 …. . Update
Server Method設計 • 設計Server Method: (SORDERS) public object Call. Test(object[] obj. Param) { string str = obj. Param[0]. To. String(); string sql= "select avg(Unit. Price) as Avg. Price from [Order Details] Where Product. ID="; sql = sql + str; Data. Set Tmp = Execute. Sql("View_Orders", sql, "ERPS", true); string retval=Tmp. Tables[0]. Rows[0]["Avg. Price"]. To. String(); object ret; ret = new object[] { 0, retval}; return ret; } • 定義Service. Manager 設定 Service. Name(服務名稱) , Delegate. Name(實際名稱)
Client調用設計 • 貼入HTML Button (WORDERS) <input id="Button 1" type="button" value="Call Method" onclick="server. Method()"/> • data. Grid. Detail中設定Tool. Items 增加一個Icon, On. Click="server. Method" Text="Average Price"
Client調用設計 <script> • Client script: function server. Method() { //jquery版 // var row = $('#data. Grid. Detail'). datagrid('get. Selected'); //rwd版 var index = $('#dg. Detail'). datagrid('get. Selected. Index'); var row = $('#dg. Detail'). datagrid('get. Rows')[index]; $. ajax({ type: "POST", url: '. . /handler/jq. Data. Handle. ashx? Remote. Name=SORDERS. Orders', data: "mode=method&method=" + "Call. Test" + "¶meters=" + row. P roduct. ID, cache: false, async: true, success: function (data) { alert(data); } }); } </script>
Client調用設計(複選設計) function server. Method 2() { var rows = $("#dg. Detail"). datagrid('get. Checked'); var product_ids=""; for (var i = 0; i < rows. length; i++) { product_ids += rows[i]. Product. ID + ", "; } product_ids = product_ids. substring(0, product_ids. last. Index. Of(', ')); alert(product_ids); }
統計報表 使用RDLC Wizard�生 rdlc檔案(WORDERQRY) • 設定datagrid的Report. File. Name對應rdlc檔案 • datagrid的Tool. Items新增一Icon • 設定 Icon為icon-print • On. Click為export. Report • 也可直接匯出PDF,設定On. Click為export. PDF • VS 2017的report viewer安裝較麻煩,請參考 https: //blog. csdn. net/qq_40741855/article/details/81065685 •
權限級別 • Login (Users/AD) • Menus (By Users/Groups) • RWDSecurity. Column • Info. Command. Sec. Style • 動態權限
RWDSecurity設計 • • 貼入RWDSecurity (WORDERS) 設定Alias, Menu. ID 執行"Export", "Add All" 存檔即可 以EEPManager來設定 ( 程師, 主檔次檔都無法新增/更改) 會儲存到User. Menu. Control、Group. Menu. Control資料表 Check. Menu. Right設定
RWDSecurity. Column設計 • • • 貼入RWDSecurity. Column (WORDERS) 注意元件不要放在其他元件中 設定Binding. Object. ID, Columns (Master/Detail各貼一個, 設 定Ship開頭的欄位) 重新設定RWDSecurity, 並執行"Export" 以EEPManager來設定 ( 程師, 無法顯示及更改)
Row權限設計 • • • 設定Server端 Info. Command. Sec. Style (SBASIC. Customers) Sec. Style: User, Group, Role, Org. Share 設定Sec. Field. Name (Service. Role) Sec. Except: 001; 002; 003 重Build Server端DLL
動態權限控管 RWDData. Grid. On. Update屬性: function Check. Order. Status(row. Data) { if (row. Data. Order. Status == '31' || row. Data. Order. Status == '') { alert('此單號無法修改') return false; } return true; }
多國語言設計 貼入RWDMulti. Language (WEMPLOYEE) • 設定Active, DBAlias, Group. Index=Chinese. Tra • 執行Edit, 將語言訊息存入XML中 (訊息可存於XML語DB當中): • 注意元件不要放在其他元件中 • protected void Page_Load(object sender, Event. Args e) { RWDMulti. Language 1. Group. Index = RWDClient. Tools. Language. Groups. English; RWDMulti. Language 1. Set. Language(false); } RWD 系統片語檔位置: JQWeb. Clientbootstrapjson jquery. infolight. view. json
多級選單 • 選擇出貨國家,過濾該國家的出貨城市 1. SBASIC拉Info. Command,製作國家下拉選單,命名為Country select distinct Cities. Country from Cities 2. 拉Info. Command,製作城市下拉選單,命名為City 3. 建置 4. WORDERS的df. Master,編輯欄位,調整出貨國家與出貨城市的欄位順序,使其相鄰 5. Ship. Country的Editor選combobox,Editor. Options點開,Remote. Name選SASIC. Country, Text. Field與Valus. Field皆為Country 6. Ship. City的Editor選combobox,Editor. Options點開,Remote. Name選SASIC. City, Text. Field與Valus. Field皆為City 7. Ship. City的Where. Items,加入,Field為Country,Operator為=,Where. Field為Ship. Country
製作免登入的頁面 例如對外訊息公告 RWDScript. Manager設定 Agent. Database、Agent. Solution、 Agent. User、Agent. Password
外部系統登入並開�EEP表單 1. 外部系統透過Single. Sign. On. asmx這個web service取得key 2. 瀏覽 http: //EEP網站 /Single. Sign. On. aspx? Public. Key=key&Redirect. Url=/CLASS/ WCUSTOMERS. aspx
已經登入AD就直接登入EEP 1. IIS需停用匿名驗證(取消共用IUSR帳號瀏覽IIS),使用整合 式Windows 驗證 1. 透過http: //EEP網站 /SSOLogon. aspx? database=ERPS&Solution=CLASS瀏覽
Web 系統發佈 • • 安裝 IIS 7. 0與ASP. NET 4. 0 IIS後安裝時請執行(如果先裝dotnet 4後裝 IIS): C: WindowsMicrosoft. NETFrameworkv 4. 0. 30319> aspnet_regiis -i 建立一個發佈目錄 (如 C: EEPTEST) 打開IIS檢查"應用程式集"內ASP. NET的版本 改變IIS上ISAPI與CGI的ASP. NET 4. 0設定為允許 在"站台"中新增"應用程式", 設定到虛擬目錄上 在VS上執行Publish Web. Site 重新設定Init. EEP的Web. Client Directory
自動啟動EEPNet. Server • • 應用程式型態:EEPLoader. Service,設定為登入後自動� 動 系統服務型態: C: WINDOWSMicrosoft. NETFrameworkv 4. XInstall. Util. ex e Install. Util EEPServer. Loader. exe -u 服務管理員:允許服務與桌面互動
排程作業Scheduling 將Scheduling/Scheduling. csproj加入方案中,偵錯/開始新執行 個體
Q&A
- Infolight
- Windows workflow foundation
- Eepweb
- Workshop environmental management system
- Wragg swamp mobile al
- Eep major
- Pad foundation
- Foundation standard 1 academic foundation
- Visual studio 2005 team foundation server
- Jika dibandingkan dengan pemrograman konvensional
- Introduction to vb.net
- Case visual basic
- Estructuras de control visual basic
- Achmed lach net
- Ado.net vb.net
- Workflow management with calendar
- Optimize sterile supply workflow
- Sterling baldwin
- Language based activities
- Ultimate workflow toolkit
- Travel request approval workflow
- Tosca workflow
- Dunning workflow
- Workflow ithaca college
- Sap business workflow architecture
- Nick hollings
- Zetadocs express
- It production support process
- Python workflow management
- Lotus workflow
- Print workflow automation
- Gef eclipse
- Gis workflow example
- Herramienta workflow itil
- F# workflow
- Insurance workflow automation
- Account dimension properties in hyperion planning
- Project management and workflow for digitization projects
- Cayenta erp
- Workflow eclipse rcp
- Background for project proposal
- Gis workflow management
- Rpo workflow composer
- World wide web background
- Workflow analysis
- What is wawf
- Unstructured information workflow
- Repozytorium bgk
- Inbound web service in siebel
- Workflow ual
- Jira workflow status definitions
- Combined assurance
- Newsxtreme
- Media processing workflow
- Manageengine change management workflow
- Rachel wright jira
- Workflow ipa
- Pcr lab setup
- Eventbrite microsoft dynamics ax integration
- "defect workflow" management jira
- "risk management workflow" mitigate transfer
- Continuous auditing workflow
- Ciscoworks lms
- Alteryx cache and run workflow
- Bugzilla workflow
- Virtual enterprises international
- Unstructured information workflow
- Tosca workflow
- Struts2 workflow
- Clinic workflow diagram
- Sap business workflow
- Legislative automated workflow system
- Urvarak dashboard
- Together workflow editor
- Architectural design workflow
- Business intelligence workflow
- Cromwell bioinformatics
- Extreme programming workflow
- Open source workflow bpm
- Master data services workflow
- Binderr bookkeeping
- Workflow management voorbeeld
- Wms workflow management system
- Agresso ucc
- Capex approval system
- Quality assurance definition
- A clinical laboratory path of workflow is
- Continuous auditing workflow
- Intelligent process automation in audit
- Sprooning
- Gem incident management
- Wawf training slides
- Workflow jquery
- Logarithm stata
- Jason lattimer
- Maintenance workflow
- Epicor bpm custom code examples
- Seeburger
- Eg ach
- 3voms
- Production post production pre production
- Kepler workflow
- Workflow opensource
- Web based workflow software
- Cayenta workflow management
- Enterprise imaging workflow unifier
- Uniflow capture
- Data analysis workflow
- Workflow adalah
- Service request workflow
- Ecareer workflow
- Patient registration workflow
- Tms onboarding
- Oracle workflow management
- Inpatient pharmacy workflow
- Lims flowchart
- Erp workflow management
- Zosmf workflow
- What is the workflow for dac?
- Workflow process mapping for ehr implementation
- Argo workflow tutorial
- Proposed
- Next md patient portal
- Rfi workflow
- Nexus workflow