如何用极致业务基础平台做一个通用企业ERP系列之二一览表培训
接著上一篇博客,我們進(jìn)行往來單位一覽表設(shè)計(jì)如下:
可以看到我們?cè)O(shè)計(jì)的時(shí)候,將客戶和供應(yīng)商用兩個(gè)字段來解決,這樣基本可以解決那些往來單位有可能即是供應(yīng)商又是客戶的情況。當(dāng)然因?yàn)檫@里不是主要做客戶關(guān)系管理系統(tǒng),所以可以這樣設(shè)計(jì)問題也不大,但如果要單獨(dú)還要增加客戶關(guān)系管理系統(tǒng)的話,我們建議是分開兩個(gè)表來設(shè)計(jì)。這里主要圍繞的是進(jìn)銷存來設(shè)計(jì),所以我們把往來單位做到一個(gè)表里面。
這樣就有以下幾個(gè)核心點(diǎn)我們要去解決:
1比如到時(shí)候系統(tǒng)分配權(quán)限的時(shí)候,采購進(jìn)下面的往來單位一覽表只能看到往來單位是供應(yīng)商的,銷售進(jìn)來只能看到往來單位是客戶的。
2為了安全保密設(shè)置,有些人又不能讓他看到往來單位詳細(xì)聯(lián)系人信息(我們聯(lián)系人存儲(chǔ)在子表,防止不相關(guān)的人看到信息私下又去聯(lián)系)。
3出于常理自己錄入的往來單位信息,希望只有自己看到,別人要特別權(quán)限才能看到,而且如果自己是主管還能看到自己下屬錄入的客戶或者供應(yīng)商。
4.采購進(jìn)來默認(rèn)是否客戶界面控件為不可編輯,銷售進(jìn)來是否供應(yīng)商控件不可編輯。
5.不同組織人進(jìn)來只能看到他們自己組織內(nèi)的往來單位.
具體實(shí)現(xiàn)過程:
1首先利用我們平臺(tái)的權(quán)限分配系統(tǒng),創(chuàng)建相應(yīng)的權(quán)限界面,如下所示即可。
2.對(duì)于第5點(diǎn),利用組織機(jī)構(gòu)數(shù)據(jù)授權(quán)即可解決。
3.其他代碼解決。代碼如下:
/// <summary>/// 往來單位一覽表/// </summary>class RefUnitList : Jeez.Runtime.Base.General.frmList{public override void RefreshList(){//設(shè)置一覽表的數(shù)據(jù)源base.ReportListData = new RefUnitListData();base.ReportListData.objContext = this.objContext;base.ReportListData.FormPropertyPage = this.FormPropertyPage;base.RefreshFilterGridData();}}/// <summary>/// 構(gòu)建一覽表的數(shù)據(jù)源/// </summary>public class RefUnitListData : Jeez.Runtime.Data.ReportList{public RefUnitListData(): base(){}//獲取SQL on部分protected override void AddFromSqlBeforeONPart(StringBuilder sb, System.Collections.ArrayList aryTable, string tableName, string tableNameAs){base.AddFromSqlBeforeONPart(sb, aryTable, tableName, tableNameAs);}//獲取SQL where部分public override string GetRptListSQLWhere(){string strwhere = base.GetRptListSQLWhere();//獲取框架點(diǎn)擊過濾的時(shí)候設(shè)置的過濾條件//我們可以利用構(gòu)建數(shù)據(jù)源的where部分來實(shí)現(xiàn)打開往來單位一覽表的數(shù)據(jù)源的數(shù)據(jù)隔離string filter = BaseFunc.GetEmpFilter(objContext);//獲取當(dāng)前用戶的自己職員ID,以及他下屬的職員ID,職員表我們有個(gè)上級(jí)主管字段來決定員工上下級(jí)關(guān)系if (strwhere == ""){//如果點(diǎn)擊過濾沒有設(shè)置過濾條件,我們就添加自己的過濾條件,這里就可以直接where ,//如果點(diǎn)擊過濾沒有設(shè)置過濾條件,我們就添加自己的過濾條件,這里就可以直接where ,if (!Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_SeeAll")){ //如果沒有看所有往來單位的權(quán)限的話,就只能查看業(yè)務(wù)員自己以及業(yè)務(wù)員下屬錄入進(jìn)來的往來單位數(shù)據(jù)strwhere += string.Format(" where jzRefUnit.EmployeeID in {0}", filter);if (!Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_SeeBoth")){//如果沒有查看兩者的權(quán)限if (Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_Customer")){//如果只有看客戶的權(quán)限strwhere += string.Format(" and jzRefUnit.IsCustomer=1");}if (Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_Supply")){//如果有查看供應(yīng)商權(quán)限 strwhere += string.Format(" and jzRefUnit.IsSupply=1");}}}else{if (!Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_SeeBoth")){//如果沒有查看兩者的權(quán)限if (Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_Customer")){//如果只有看客戶的權(quán)限strwhere += string.Format(" where jzRefUnit.IsCustomer=1");}if (Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_Supply")){//如果有查看供應(yīng)商權(quán)限 strwhere += string.Format(" where jzRefUnit.IsSupply=1");}}}}else{//如果點(diǎn)擊過濾沒有設(shè)置過濾條件,我們就添加自己的過濾條件,這里就可以直接where ,if (!Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_SeeAll")){ //如果沒有看所有往來單位的權(quán)限的話,就只能查看業(yè)務(wù)員自己以及業(yè)務(wù)員下屬錄入進(jìn)來的往來單位數(shù)據(jù)strwhere += string.Format(" and jzRefUnit.EmployeeID in {0}", filter);if (!Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_SeeBoth")){ //如果沒有查看兩者的權(quán)限if (Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_Customer")){//如果只有看客戶的權(quán)限strwhere += string.Format(" and jzRefUnit.IsCustomer=1");}if (Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_Supply")){//如果有查看供應(yīng)商權(quán)限 strwhere += string.Format(" and jzRefUnit.IsSupply=1");}}}else{if (!Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_SeeBoth")){//如果沒有查看兩者的權(quán)限if (Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_Customer")){//如果只有看客戶的權(quán)限strwhere += string.Format(" and jzRefUnit.IsCustomer=1");}if (Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_Supply")){//如果有查看供應(yīng)商權(quán)限 strwhere += string.Format(" and jzRefUnit.IsSupply=1");}}}}return strwhere;}//獲取SQL order by部分public override string GetRptListSqlOrderBy(ref string strSQLGroupBy){return base.GetRptListSqlOrderBy(ref strSQLGroupBy);}}/// <summary>/// 往來單位新增界面/// </summary>class RefUnit : Jeez.Runtime.Base.General.BillUI{Jeez.Control.JeezUltraCheckBox.JeezUltraCheckBox ckIsCustomer;Jeez.Control.JeezUltraCheckBox.JeezUltraCheckBox ckIsSupplyer;public override bool LoadUI(){bool b = base.LoadUI();if (b){ckIsCustomer = base.GetControlByName("JeezCheckBox1") as Jeez.Control.JeezUltraCheckBox.JeezUltraCheckBox;ckIsSupplyer = base.GetControlByName("JeezCheckBox2") as Jeez.Control.JeezUltraCheckBox.JeezUltraCheckBox;}return b;}protected override void BillUI_Load(object sender, EventArgs e){base.BillUI_Load(sender, e);InitByDefine();}/// <summary>/// 根據(jù)角色設(shè)置價(jià)格單元格的可見隱藏/// </summary>void InitByDefine(){if (!Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_SeeChild")){//如果沒有看子表數(shù)據(jù)的權(quán)限,子表grid數(shù)據(jù)就隱藏起來this.CurrentGrid.Visible = false; }if (!Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_SeeBoth")){//如果沒有看子表數(shù)據(jù)的權(quán)限,子表grid數(shù)據(jù)就隱藏起來ckIsCustomer.Enabled = false;ckIsSupplyer.Enabled = false;if (Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_Customer")){//如果只有看客戶的權(quán)限 ckIsCustomer.Checked = true;}if (Jeez.Common.UI.AccessControl.CheckACLWithNoMsg("SCM_WLDW_Supply")){//如果有查看供應(yīng)商權(quán)限 ckIsSupplyer.Checked = true;}}else{ckIsCustomer.Enabled = true;ckIsSupplyer.Enabled = true;}}protected override void LoadEntityDataToControl(){base.LoadEntityDataToControl();InitByDefine();}} View Code?
?總結(jié):一覽表開發(fā)主要了解一覽表數(shù)據(jù)源的構(gòu)建部分,比如我們代碼部分構(gòu)建where部分,當(dāng)然我們也可以設(shè)置一覽表數(shù)據(jù)源的排序部分。
?
極致平臺(tái)開發(fā)十大特點(diǎn):
1. 一個(gè)數(shù)據(jù)庫下可以同時(shí)進(jìn)行N套業(yè)務(wù)系統(tǒng)開發(fā),開發(fā)出來的產(chǎn)品可以根據(jù)您客戶的需要按模塊界面組發(fā)布,客戶想要啥模塊就可以給啥模塊。而且一個(gè)數(shù)據(jù)庫下開發(fā)所有功能,當(dāng)客戶需要從你的人力資源增加客戶關(guān)系管理模塊的時(shí)候,你只要做個(gè)升級(jí)包就可以了。解決企業(yè)多個(gè)業(yè)務(wù)系統(tǒng)信息孤島問題。
2. 智能升級(jí)功能,當(dāng)客戶從A模塊增加B模塊的時(shí)候,您只需要做一個(gè)升級(jí)包即可,給客戶升級(jí)后,客戶原來錄入的數(shù)據(jù)不會(huì)有影響,而且所有客戶端都是智能感應(yīng)智能升級(jí),大大節(jié)省您的部署成本。
3. 工作流套打報(bào)表均可以運(yùn)行時(shí)候自定義,比如費(fèi)用報(bào)銷單,您100家客戶就有一百種費(fèi)用報(bào)銷的流程,套打的格式,用我們平臺(tái)您只需要設(shè)計(jì)好這個(gè)費(fèi)用報(bào)銷單,至于哪個(gè)客戶走什么流程,完全可以讓客戶自己去定義,而不需要像傳統(tǒng)開發(fā)那樣,提前在開發(fā)中設(shè)置好,100個(gè)客戶就維護(hù)100套代碼。套打也是如此。
4. 支持?jǐn)?shù)據(jù)授權(quán),當(dāng)您開發(fā)多組織架構(gòu)的系統(tǒng)的時(shí)候,我們只要業(yè)務(wù)單據(jù)引用組織機(jī)構(gòu)即可,然后組織機(jī)構(gòu)支持?jǐn)?shù)據(jù)授權(quán),這樣就可以不需要編寫任何一行代碼就可以做到,組織與組織之間數(shù)據(jù)彼此隔離,我想給哪個(gè)用戶看哪個(gè)組織的數(shù)據(jù)只要給這個(gè)用戶這個(gè)組織的數(shù)據(jù)權(quán)限即可。
5. 支持字段授權(quán),對(duì)于一些表的核心字段對(duì)用戶進(jìn)行屏蔽直接利用我們平臺(tái)的字段授權(quán)功能即可,比如職員薪酬字段進(jìn)行字段授權(quán),讓有的用戶在看職員信息的時(shí)候,自動(dòng)隱藏薪酬的數(shù)據(jù)。這也是無需編寫任何一行代碼。
6. 單據(jù)界面自動(dòng)生成,我們開發(fā)的時(shí)候只要設(shè)計(jì)好實(shí)體,也就是傳統(tǒng)開發(fā)所說的表結(jié)構(gòu)即可,還可以設(shè)置哪些字段是必錄,可見,不允許重復(fù),在界面生成的時(shí)候,會(huì)自動(dòng)生成一個(gè)界面,而且這個(gè)界面的增刪改查是無需寫一行代碼的,您只要對(duì)您特有業(yè)務(wù)邏輯編碼即可,相對(duì)傳統(tǒng)開發(fā),你代碼量可以節(jié)省2/3,開發(fā)周期縮短2/3
7.一次開發(fā)同時(shí)具有單機(jī)局域互聯(lián)網(wǎng)三個(gè)版本,客戶想要單機(jī)就給單機(jī)想要互聯(lián)網(wǎng)版就給互聯(lián)網(wǎng)版。?
8.強(qiáng)大的公式引擎,讓您可以靈活設(shè)計(jì)計(jì)算類的項(xiàng)目,比如工資,預(yù)算。
9.包含強(qiáng)大的各種控件,比如文本控件支持F8調(diào)用,編碼名稱自動(dòng)帶出。Grid控件支持表頭過濾,單元格融合,固定列,表格列,表格行各種公式匯總,復(fù)合表頭,表格寬度可以自己隨意調(diào)整,而且關(guān)閉后會(huì)自動(dòng)記錄之前的寬度。還支持表格列隨意調(diào)整順序。
10.平臺(tái)內(nèi)置很多基礎(chǔ)功能,比如權(quán)限管理,用戶角色管理,還有實(shí)施的一些導(dǎo)入導(dǎo)出工具都能幫助客戶大大提高一個(gè)項(xiàng)目驗(yàn)收進(jìn)度。
?
官網(wǎng):www.jeez.com.cn
平臺(tái)介紹:www.jeez.com.cn/jbf??
平臺(tái)下載地址:http://www.jeez.com.cn/upfiles/jbfsetuppro.rar
(下載即可有3個(gè)月免費(fèi)試用)
聯(lián)系電話:13826519021 18988763421 QQ:180315586? 420977542?(加我注明極致軟件即可)
平臺(tái)銷售經(jīng)理:李先生?
將互聯(lián)網(wǎng)時(shí)代的管理軟件做到極致!
==================================================================
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/Jeez_JBF/p/ERP2.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的如何用极致业务基础平台做一个通用企业ERP系列之二一览表培训的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2020下半年新机最新消息_三星小米华为
- 下一篇: loadrunner接口性能测试分享