文档库 最新最全的文档下载
当前位置:文档库 › EAS-BOS开发问题与解决

EAS-BOS开发问题与解决

EAS-BOS开发问题与解决
EAS-BOS开发问题与解决

Studio新建的UI发布只能看到抽象类的问题

在导入了新的解决方案之后,在二次开发时进行新建UI,进行发布,但是在代码视图中只能看到抽象类,没有其他的代码。

对于客户二次开发中用户自定义的单据才生成实现类,但发现BOS Studio新建的ui元数据自定义标记为false,导致在发布时认为不是用户自定义的,因此没生成实现类。

需要把ToolCommon 插件下

(E:\kingdee\bos\BOSModular\boscommon\eclipse\plugins\com.kingdee.bos.toolcomm on)的toolcommon.properties 这个文件中的isDevelopVersion=true 改为:isDevelopVersion=false

如何修改UI的父类?

如何修改EditUI绑定的实体Entity?

点击UI,选择左边浏览方式“大纲”。选择Data Objects 的editData(查询对象)

设置由自己定义的一个Entity元素据。

Java源码会有这样一句话:

editData = (com.kingdee.eas.fi.fi_cs.CsAccountViewInfo)ov;

其中CsAccountViewInfo是自己定义的一个Entity。而com.kingdee.eas.fi.fi_cs则是他的路径。

如何修改ListUI绑定的查询Query?

解决:

点击UI,选择左边浏览方式“大纲”。选择Data Objects 的mainQuery(查询对象)

设置由自己定义的一个Query元素据。

Java源码会有这样一句话:

mainQueryPK = new MetaDataPK("com.kingdee.eas.fi.fi_cs.app", "CsAccountViewQuery");

其中CsAccountViewQuery是自己定义的一个Query。而com.kingdee.eas.fi.fi_cs.app则是他的路径。

将一个元数据从一个文件夹直接拉到另外一个文件夹,打开文件的时候会报错误

com.kingdee.bos.engine.MDParseError

解决:

把元数据从一个文件夹移到另一个文件夹不能直接拉。需要用复制功能,并且只能够在EAS-BOS的工作透视图下。

如果在其他视图下进行操作,将无法复原。

导出sql的时候CreateTable.sql无法创建table,oracle 和sqlserver定义的类型有什么不一致

原因:

导出数据表会自动生成一些脚本,但是选择oracle时,实际导出的却是sqlserver的脚本。导出有问题,oracle和sqlserver导出的都是sqlserver的脚本。

解决:

认清oracle和sqlserver定义的类型有什么不一致。

Oracle的Date等同于sqlserver的DateTime,nvarchar2等同于sqlserver的nvarchar。Varchar2等同于sqlserver的varchar。

com.kingdee.bos.metadata.MetaDataNotFoundExcepti on: Cannot found metadata BOSType[null]

原因:

没有重写ListUI的getBizInterface() 方法。

解决:一定要重新实现ListUI和EditUI的getBizInterface()方法,重新实现ListUI的getBizInterface()方法问题解决。

keyFiled没有设置,请重写getFiledName()方法。

解决:

在设置query元数据的时候没有配置好主键,一定要设置主键

无法实现字段排序

解决:在*UI.java文件上面添加方法

protected void tblMain_tableClicked(KDTMouseEvent e) throws Exception { //覆盖原方法

super.tblMain_tableClicked(e);

}

该方法会实现父类的排序功能。

备注:tblMain_tableClicked是指双击的事件。一般用在查询页面。

还有一个tblMain_tableSelectChanged是指点击时触发的事件。

日志操作写错:指标录入(分配)审核写成了指标录入(分配)修改。

原因:审核,反审核的操作最后都执行了修改的操作。所以就将日志文件改成了修改。而不是审核或者反审核。

分析:日志操作一般在.log文件上面做修改。

比如说这个问题。日志文件为指标管理属于集中支付模块,gov_biz.log在这个模块的源文件下面gov/biz/。一般添加日志在.log文件的日志项。选择某个目录,为其添加日志项,组名,别名都需要每一层每一层写清楚(这会自动默认上下级关系)。接着选定引用对象,(有两种对象:引用对象和功能对象)。功能对象还不是很了解,引用对象是一个实体。接着选定某些引用方法,意思就是这些方法触发的时候写入日志。

另外还有一个方法写入日志。直接在某个按钮操作调用写日志方法。该方法在

GovBasedataUtils是基础数据管理公用函数及接口。方法名为setOperLog,该方法有两个,具备不同的参数。选择所需要的方法调用。

备注:

针对这个bug需要注意一个空指针的问题,如果直接调用父类的actionPassAudit_actionPerforme的方法,会出现这个问题。原因是有refresh(e)方法进行刷新。所以不能调用父类的方法,自己重写。修改完日志的时候,还需要在文件菜单中同步一下日志项数据。setOperLog方法是写log进入操作对象这个字段。而不是写入操作这个字段。这点需要注意。

进入基础资料关联管理进行修改,删除的时候,日志操作出现字符串,没有正确显示操作对象

分析:首先检查日志有没有出错,没有出错的话可在java文件中进行修改。因为是删除和修改操作,所以我们可以重写父类的删除修改操作,添加一个写日志的操作。

解决:首先找到该Java文件:GovBaseDocBizRefListUI.java。

重写actionEdit_actionPerformed和

actionRemove_actionPerformed方法。(GovBaseDocBizRefInfo) getBizInterface().getValue(new ObjectUuidPK(keyValue),getSelectorItemCols())是用来得到自己定义的对象这里是GovBaseDocBizRefInfo。而该对象的数据则用getSelectorItemCols()方法来获取。最后则是自己定义的写log的方法。

在改bug的过程中,还出现一个问题,就是写日志操作必须在修改和删除操作之前执行,否则会出现一些意外问题,比如说写日志写的不是当前选择的数据,而是选择第一条数据。还有就是出现删除操作提示记录找不到。这都是因为把写日志操作放在了修改和删除操作之后导致的。原因是如果是修改操作后返回的是第一条数据,修改完自然写的就是第一条数据的日志了。如果先删除再写日志的话肯定得不到对象,因为被先删除了,所以会出现提示。

无法启动debugserver.bat,debugserver窗口自动关闭。

解决:

到W:\apusic\domains\server1路径下将server.xml文件删除即可解决。

Oracle sql语句报错:“未明确定义列”

解决:

在表关联中出现了相同的字段名字,给与一个别名就可以解决。

如何在java文件中添加一个F7控件

备注:

由于不允许在标准产品上面添加控件,所以只能够在java上面添加。

解决:

可参考F7业务控件指南(KDBizPromptBox)使用指南。

在这里只写上一些基础配置。一般使用F7都给包含在一个KDLabelContainer控件里面。创建一个KDLabelContainer控件

this.borrowContain = new com.kingdee.bos.ctrl.swing.KDLabelContainer();

创建一个KDBizPromptBox控件

this.borrowBox= new com.kingdee.bos.ctrl.extendcontrols.KDBizPromptBox();

将KDBizPromptBox附在KDLabelContainer上面。

borrowContain.setBoundEditor(borrowBox);

设置一个弹出窗口

FilterInfo filter = new FilterInfo();

FilterItemCollection fic = filter.getFilterItems();

fic.add(new FilterItemInfo("CU.id", company.getCU().getId().toString()));

fic.add(new FilterItemInfo("CAA.id", null, CompareType.NOTEQUALS));

filter.setMaskString("#0 and #1 ");

AccountPromptBox apb = new AccountPromptBox(this, company.getAccountTable(), filter);

设置一些属性。

设置borrowBox为可编辑

this.borrowBox.setEditable(true);

设置borrowBox的编辑格式

this.borrowBox.setEditFormat("$number$");

设置borrowBox的显示格式

this.borrowBox.setCommitFormat("$helpCode$;$number$;$name$");

设置borrowBox的提交格式

this.borrowBox.setDisplayFormat("$number$ - $name$");

设置borrowBox的查询对象

this.borrowBox.setQueryInfo("com.kingdee.eas.basedata.master.account.app.F7Acco untViewQuery");

设置borrowBox的弹出窗口

this.borrowBox.setSelector(apb);

在查询页面上保存一个方案的时候是如何得到页面上各个控件的值。

解决:

由于保存一个查询方案的时候是由QueryToolBar类中的saveButton_actionPerformed方法执行的。而该方法又通过调用getCustomerParams()方法来获得界面上各个控件的值。如果控件是通过java文件上添加的,就是不是在标准产品上面改的,所以必须在getCustomerParams()方法中设置调用setObject()方法进行设置。

例子:

Debitvalue为一个引用。

RptParams params = super.getCustomerParams();

params.setObject(debitvalue,debitBox.getValue()==null?"":debitBox.getValue()); 无法显示一个控件的值。

解决:

虽然上面的一个问题可以保存控件的值,但是要让控件保存的值显示出来,还需要添加一个方法setCustomerParams()方法,将控件的值设置进去。

例子:

if (params.getObjectElement(debitvalue) != null) {

debitBox.setValue(params.getObjectElement(debitvalue));

}

如何在页面显示时间格式,金钱格式

解决:

在UI的编辑表信息那里选择:时间的字段,然后在formatString 填入“%r{yyyy-M-d}t”这个是显示年月日的。依次类推。

金钱格式为 #,###.00

在UI上面添加一个KDLable,会出现跟前面的控件重叠

解决:

设置KDLable的constrain中的anchor,看来这个是重要的属性。

EAS的查询是如何实现的

解决:(例子)

protected boolean isHasAttachMent(String bosid) throws Exception {

CoreBaseCollection ass = (CoreBaseCollection) BoAttchAssoFactory .getRemoteInstance().getCollection("select FAttachmentID " +

"where boid='"+bosid+"'");

if (ass != null && ass.size() > 0)

return true;

return false;

}

解析:该例子很简单,但是不知道的人确实非常困惑。现在说明一下。

首先应该是BoAttchAssoFactory这个类,每一个实体都有一个factory这个类。这个例子的实体就是BoAttchAsso。这个factory类提供了一个远程的接口获取对象。CoreBaseCollection则是将这个对象包装起来。对象里面的内容就是根据里面的sql得出来的。注意该sql是用实体来查询的。不是数据库sql。FAttachmentID,boid都是BoAttchAsso实体里面的属性。这个例子总的就是说去实体里面找数据然后返回一个对象。

给实体新增了一个属性,如何获取该实体这个属性的值

解决:

给实体新增了一个属性,发布后都会在以Abstract开头的info类中产生get,set方法。比如给实体BgAdjustBill新增了一个属性isNeedOrNotAttachment,发布后会在AbstractBgAdjustBillInfo类中产生这两个方法。

public boolean isIsNeedOrNotAttachment()

{

return getBoolean("isNeedOrNotAttachment");

}

public void setIsNeedOrNotAttachment(boolean item)

{

setBoolean("isNeedOrNotAttachment", item); }

就采用editData. isIsNeedOrNotAttachment()方法获得属性的值。editData是在list页面传到edit页面上的对象,想要获取对象的值都可以通过editData。

Edit页面的数据如何保存

解决:

采用数据绑定。在Edit的UI界面选择数据绑定。

例子:

在edit和list页面分别有两个checkbox控件。想要让他们关联起来。

在edit的ui页面上选择数据绑定,选中要绑定的checkbox控件,由于是checkbox,所以是个bollean型的,选择其selected功能,再选择下一步绑定实体的属性。这样子就关联上了。点击保存的时候会将其保存。

弹出提示窗口的信息如何设置

解决:

MsgBox.showWarning(this, EASResource.getString(

BgAdjustBillHelper.RESOURCESTR,

"mustBeSameOrg")

其中mustBeSameOrg为资源文件.resource定义的名称。

如何融合行。变成如下的形式

现在的形式是如下。

解决:

private void setMergeColumn(boolean merge) {

// 增加对于单据头的表格融合设置

String mergeColumnKeys[] = getMergeColumnKeys();

if (mergeColumnKeys != null && mergeColumnKeys.length > 0) {

tblMain.checkParsed();

//指定KDTable要进行数据分组

tblMain.getGroupManager().setGroup(merge);

for (int i = 0; i < mergeColumnKeys.length; i++) {

//指明要对列进行分组

tblMain.getColumn(mergeColumnKeys[i]).setGroup(merge);

//指明要对列的分组进行单元融合

tblMain.getColumn(mergeColumnKeys[i]).setMergeable(merge);

// 有些时候会因为刷新然后没有重新排序,所以就要写下面这一句。

tblMain.getGroupManager().group();

}

}

}

// 返回需要融合的列

public String[] getMergeColumnKeys() {

//columnKeys 数组是UI 上面显示的字段名称,具体要融合哪些列,可以在table 右键选择编辑表信息。里面有各个字段的名称。这里的字段还要按照顺序来排列,不允许中间有一个字段没有写进来,可以从编辑表信息里面查找,中间如果漏写了一个会没有效果,意思就是必须得按照顺序来排列。 String[] columnKeys = { "id", "createTime", "number",

"https://www.wendangku.net/doc/0c18578524.html,", "state","https://www.wendangku.net/doc/0c18578524.html,", "https://www.wendangku.net/doc/0c18578524.html,", "lastUpdateTime","attachment","bizDate"}; return columnKeys;

}

在每次执行查询后调用setMergeColumn(true)这个方法就行了。

如何添加功能快捷键?

解决:

this.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put( KeyStroke.getKeyStroke("ctrl N"), "actionAddNew"); 其中actionAddNew 就是function 。

2008-10-20 问题:

如何添加一个参数子系统树节点和参数? 解决:

参数子系统树节点可以通过直接修改xml 文件来添加。标准产品的xml 文件为: SubSystem.xml 。政府行业新增加的文件为: SubSystem_industry.xml 。

新增一个子系统数节点可以参考文章

EAS生成子系统树方

添加一个子节点的xml (例子)

其中fullname 为包名。Parent 表示父级目录的包名。isLeaf 表示目录的层次。

添加完之后,必需停止服务,并且在控制管理台那里的工具选项选择产生子系统树。这个步骤最好在服务器上面做,本地运行产生子系统树貌似会出错。在服务器上面操作时,需要将eas\server\metas\mdbview-metas.jar 覆盖本地的所有这个包。完成后重起服务,进入系统平台->系统配置->参数设置。这时候会发现还没有出现刚才产生的节点。由于如果节点下面没有任何参数的话,此节点是不会显示的。现在为节点添加参数。选中任意一个节点,按

F12,会弹出一个参数对话框,可以在这个对话框添加,修改,删除参数。选中刚才的节点:政府预算。新增一个参数。新增参数需要了解一点:组织类型非常重要,如果该节点的组织类型与所要添加参数的组织类型不一致,该参数将不会在参数设置页面里面显示,因为参数设置页面只是显示与节点的组织类型相同的参数,其它则不显示。如果要想添加一个不同的组织类型的参数,则需要重新添加一个节点,将节点的类型设置为要添加参数的组织类型。然后再新增加参数,总结起来就是说参数的组织类型要与节点的组织类型一致才可以在参数设置页面显示出来。

设置节点的组织类型的方法如下:找到W:\eas\Server\server\lib\client\eas\ bs-param-client.jar这个包,双击进入找到com\kingdee\eas\base\param\client\ subSysIdToOrgTypeMaps.xml这个文件。添加的xml为:

这句话的意思就是将上面添加的政府预算的节点的组织类型设置为预算组织。Key对应fullname,value="CostCenter"的意思为设置组织类型为预算组织。想要查找有哪些组织类型,可以参考OrgType.enum。名称为value的可选值。

参数添加成功之后,需要导出参数的sql脚本。路径如下:

系统平台-->预警平台-->预警条目设置-->按F11 ,选择参数导出,输入参数的编码。

如何获取“下次直接进入的方案”中自定义页签的过滤条件。

解决:

entityViewInfoTmp=(EntityViewInfo) iQuery.getDefaultFilterInfo (getQuerySolutionUIName(), queryName);

QuerySolutionInfo solution= iQuery.getDefaultSolution (getQuerySolutionUIName(),queryName);

如何给窗口添加最大化,最小化按钮?

分析:

当点击一个按钮的时候,会弹出一个窗口,窗口可以有五种类型:分别是FIXTAB,NEWTAB, NEWWIN,NEWSESSION,MODEL。FIXTAB的意思是弹出的窗口会替换掉原来在Tab上面的那个窗口。NEWTAB的意思是在Tab上面新增加一个弹出窗口。NEWWIN的意思是在页面中间弹出一个窗口,NEWSESSION的意思是在Tab上面弹出一个窗口,替代掉原来的窗口,并且重新刷新一下。MODEL的意思是在页面中间弹出一个窗口,没有最大化,最小化按钮。

解决:

点击按钮的会弹出一个窗口,代码如下。

uiWindow =UIFactory.createUIFactory(UIFactoryName.NEWWIN)

.create(CmpSummaryReportUI.class.getName(), uiContext, null, OprtState.VIEW); uiWindow.show();

从蓝色部分可以看出产生窗口的类型,这是一个在页面中间弹出的窗口,包含有最大化最小化按钮。

另外可以查看对应的窗体是哪个。找到UIFactoryName.Java里面配置好了上面五种类型的

窗口。

还有更深入的功能则是可以在这些窗口上面显示菜单栏,工具栏等。

则是通过WinStyle.java来配置。一共有八种类型,分别设置八种类型的值进去看可以得到不同的效果。另外可以不用上面的代码。

uiWindow =UIFactory.createUIFactory(UIFactoryName.NEWWIN)

.create(CmpSummaryReportUI.class.getName(), uiContext, null, OprtState.VIEW, WinStyle.SHOW_MENUBAR);

uiWindow.show();

直接在create方法增加多一个类型参数。就可以看到效果了,EAS默认的是WinStyle.SHOW_MENUBAR或者WinStyle.SHOW_STATUSBAR。

如何默认最大化窗口?

解决:(例子)

if (window instanceof KDFrame) {// 最大化

((KDFrame) window).setExtendedState(KDFrame.MAXIMIZED_BOTH);

} else if (window instanceof Dialog) {

((Dialog) window).setSize(Toolkit.getDefaultToolkit().getScreenSize());

}

执行脚本的时候报“ORA-01843无效的月份”的错误。

解决:

{ts'2008-05-12 14:59:14'}。在EAS下面插入时间需要这样子格式。

如何去掉键盘的上,下键对kdtable的上下移动操作

解决:

在onload中加入以下2行代码即可.

//屏蔽键盘的上下键对表格记录上下移动操作--[core]

tblMain.getActionMap().put(KDTAction.SELECT_DOWN_CELL,null);

tblMain.getActionMap().put(KDTAction.SELECT_UP_CELL,null);

如何获得鼠标右键的那些按钮。

解决:

KDTMenuManager tm = getMenuManager(this.tblMain);

KDPopupMenu menu = tm.getMenu();

Component[] components = menu.getComponents();

如何屏蔽鼠标右键的按钮

解决:

private void hideTableSet() {

// TODO 自动生成方法存根

KDPopupMenu kdmenu = new KDPopupMenu();

KDTMenuManager tm = getMenuManager(kdtEntry);

KDPopupMenu menu = tm.getMenu();

Component[] components = menu.getComponents();

List hideMenusName = new ArrayList();

hideMenusName.add("tableSetting");

hideMenusName.add("saveSetting");

hideMenusName.add("restoreSetting");

hideMenusName.add("deleteSetting");

if (null != components && components.length > 0)

for (int i = 0; i < components.length; i++) {

Component c = components[i];

if (c instanceof KDSeparator)

kdmenu.add(c);

if (c instanceof JMenuItem) {

JMenuItem menuItem = (JMenuItem) c;

if (!hideMenusName.contains(menuItem.getName()))

kdmenu.add(c);

}

}

tm.setMenu(kdmenu);

}

public void onShow() throws Exception {

super.onShow();

hideTableSet();

}

还有hideTableSet方法一定要写在onShow里面。

如何针对一个cell设置一个弹出F7对话框?

解决:

FileChooserPromptBox nf7 = new FileChooserPromptBox(this, FileChooserPromptBox.CHOOSERTYPE_OPEN);

nf7.setDisplayFormat("$name$");

nf7.setEditable(true);

KDTDefaultCellEditor cellEditorPath = new KDTDefaultCellEditor(nf7);

this.tblMain.getColumn(TB_FILEPATH).setEditor(cellEditorPath); FileChooserPromptBox是一个特别的F7,没有办法在UI上面进行拖拉,可以直接产生。

以上是在一个单元格里面设置

还有另外一种是:

kDLabelContainer.setBoundEditor(nf7);

放在容器kDLabelContainer里面。

在服务端获得info的写法

解决:

BgAdjustBillInfo adjustBillInfo =(BgAdjustBillInfo)this._getValue(ctx,pk);

在通用查询窗口点击确定的时候如何验证页面上的一些条件?

解决:

实现verify()方法。该方法会在点击确定的时候进行一些验证。

弹出保存文件对话框代码

解决:

KDFileChooser m_chooserSave = new KDFileChooser();

m_chooserSave.setFileFilter(new ExcelFileFilter());

int result = m_chooserSave.showSaveDialog(this);

if (result != KDFileChooser.APPROVE_OPTION)

return;

File f = m_chooserSave.getSelectedFile();

//appendToExcel(f.getAbsolutePath()+f.getName()+".xls",true,true,getUITitle ());

//appendToTxt( f.getAbsolutePath()+".txt" );

String fileName ="";

if( f.getAbsolutePath().endsWith( ".txt" ) ){

fileName = f.getAbsolutePath();

}else{

fileName = f.getAbsolutePath() + ".txt";

}

if(f.exists())

{

if(MsgBox.showConfirm2(EASResource.getString(OrgInnerUtils.strResource + "FILE_IS_EXIST")) !=0){

return;

}

}

appendToTxt( fileName,false );

MsgBox.showInfo( EASResource.getString(ExportTxtResourceURL + "EXPORT_TXT_SUCC" ) + fileName );

如何导出TXT文本?

分析:

建立一个FileOutputStream。

解决:

public void appendToTxt( String fileName ,String strTxt){

FileOutputStream fos = null;

try{

fos = new FileOutputStream(fileName);

fos.write(strTxt.getBytes());

}catch(IOException e){}

finally{

try{

fos.close();

}catch(IOException e1){}

}

}

strTxt是需要导出的txt字符串。fileName是导出路径。

如何让一个UI有自定义查询?

分析:

该图显示的是一个弹出对话框CommonQueryDialog。其中条件页签是自己定义的一个UI。

解决:

自定义是一个页签(框架的功能实现),要实现自定义页签必须让UI继承类

https://www.wendangku.net/doc/0c18578524.html,monquery.client.CustomerQueryPanel。

在实例化一个CommonQueryDialog的时候,首先将UI封装进CommonQueryDialog对象里面。 protected CommonQueryDialog initMessageExportDialog(UIContext uicontext) throws Exception

{

dialog = new CommonQueryDialog();//实例化

MetaDataPK mainQueryPK = new MetaDataPK("https://www.wendangku.net/doc/0c18578524.html,.stdextend", "GovPersonSimpleHelpQuery");//用于在自定义页签实现字段过滤功能

if (this.getUIWindow() == null)

{

dialog.setOwner((Component)

getUIContext().get(UIContext.OWNERWINDOW));

}

else

{

dialog.setOwner(this);

}

dialog.setUiObject(this);

dialog.setParentUIClassName(this.getClass().getName());

dialog.addUserPanel(getMessageExportUserPanel(uicontext));//将UI封装进CommonQueryDialog对象里面。

dialog.setShowToolbar(false);//是否显示工具条,默认方案等。

dialog.setShowFilter(true);//显示自定义查询页签

dialog.setQueryObjectPK(mainQueryPK);//将自定义过滤功能封装进来

dialog.setTitle("短信数据导出");//设置探出框的title。

dialog.setWidth(550);

dialog.setHeight(300);

return dialog;

}

具体更多的设置可以参考CommonQueryDialog这个类。

如何从CommonQueryDialog得到自定义UI。

解决:

public void actionTxtExport_actionPerformed(ActionEvent e) throws Exception {

dialog = initMessageExportDialog(uiContext);

if (dialog.show())//弹出对话框出现的时候,代码运行停留在这一行。当点击确定的时候将继续运行。

{

tHelper.setDialog(dialog);

GovHrMessageExportUI govHrMessageExportUI = (GovHrMessageExportUI)

dialog.getUserPanel(0);

用这种方式得到自定义UI。得到了UI,相当于实例化了这样的一个类,还可以

得到类的方法。

String path=govHrMessageExportUI.getPath();//getPath()是定义在

GovHrMessageExportUI中的方法。

}

}

如何实现一个弹出保存对话框。

GovFileChooserPromptBox prmtRoad = new GovFileChooserPromptBox(this, GovFileChooserPromptBox.CHOOSERTYPE_TXT);

//GovFileChooserPromptBox是自已定义的一个保存弹出框,可以找到该类进行参考。里面有一个保存样式设置的。可以保存为什么类型的文件。

prmtRoad.setDisplayFormat("$name$");//设置显示格式

prmtRoad.setEditable(false);//设置是否可以输入,false的话只能够通过点击F7进入。

如何在弹出的对话框点击确定后进行验证。

解决:

在UI实现,UI是封装进入对话框的UI。

dialog.addUserPanel(UI);

public boolean verify() {

}

如何设置一个监听事件,在切换单元格的时候进行一些动作。

解决:

private void setMoneySumAction() {

kdtBgDetail.addKDTEditListener(new KDTEditAdapter() {

public void editStopped(KDTEditEvent e) {

//当光标移出单元格的时候触发事件

……

}

});

}

将setMoneySumAction方法设置在ONLOAD中。

如何判断单击了列头。

解决:

protected void orderByClickTableHead(KDTMouseEvent e) throws Exception {

if(e.getType() == KDTStyleConstants.HEAD_ROW

&& e.getButton() == MouseEvent.BUTTON1 && e.getClickCount() == 1){ ……

}

如何实现排序。如何默认进入一个ListUI实现按照某个字段进行排序

解决:如何实现排序参考EmployeeMutiF7UIGov.java。

进入ListUI的时候默认排序可以重写父类的initDefaultFilter()方法。该方法会在进入页面的时候进行调用。

设定过滤可以这样子:

if(mainQuery == null)

mainQuery = new EntityViewInfo();

FilterInfo filterInfo = new FilterInfo();//实例化一个过滤对象。

filterInfo.getFilterItems().add(new FilterItemInfo("isDelete", new Integer(0)));//添加过滤条件isDelete=0;

filterInfo.getFilterItems().add(new FilterItemInfo("enable",new

Integer(StateEnum.DISABLE_VALUE),CompareType.NOTEQUALS));//添加过滤条件enable!= 枚举StateEnum的DISABLE_VALUE值。

filterInfo.setMaskString("#0 and #1");//将刚才两个条件设置进去。其中#0代表isDelete的过滤,#1代表enable的过滤。

this.mainQuery.setFilter(filterInfo);//最后将对象设进EntityViewInfo,做了封装了。

有一点需要注意的是首先要找到Query,因为isDelete,enable是Query的属性,而不是代表表里的字段。

设定排序是这样子的:

SorterItemInfo sorterOrderItem1 = new SorterItemInfo("enable");//实例化一个排序对象

sorterOrderItem1.setSortType(SortType.ASCEND);//设置排序类型

mainQuery.getSorter().add(sorterOrderItem1);//添加进入EntityViewInfo对象的Sorter的属性中。

如何初始化一个Tree?

解决:

例子

protected void initTree() throws Exception {

GovHrSchemeSetCollection schemeSet =

GovHrSchemeSetFactory.getRemoteInstance().getGovHrSchemeSetCollection(

"select *,schemeSetEntry.cmpScheme.*,schemeSetEntry.* where hrOrgUnit.id='" + HRSchemeUtils.getClientHROrgUnitInfo().getId().toString() + "' order by number asc ");//获取集合对象。

treeMain.setModel(new DefaultTreeModel(bulitTree(schemeSet)));//创建树,bulitTree(schemeSet)必须是TreeNode对象,包含了所有各级的节点。

}

protected TreeNode bulitTree(GovHrSchemeSetCollection src) {

KDTreeNode result = new KDTreeNode("薪酬方案组合");//创建一个节点,处于最上层。

for (int i = 0; i < src.size(); i++) {

KDTreeNode tn = new KDTreeNode(src.get(i));

if (src.get(i).getSchemeSetEntry().size() > 0) {//判断是否有分录对象,有的话还要再创建子节点。

for (int j = 0; j < src.get(i).getSchemeSetEntry().size(); j++) {

KDTreeNode leaf = new

KDTreeNode(src.get(i).getSchemeSetEntry().get(j));//将一个对象设置为一个节点,该节点就是一个GovHrSchemeSetEntry对象。

tn.add(leaf);

}

}

result.add(tn);

}

return result;

}

循环创建节点的方法:

protected KDTreeNode bulitTree(TreeNode src) {

if (src==null){

return null;

}

KDTreeNode result = new KDTreeNode(((DefaultKingdeeTreeNode)

src).getUserObject());

for (int children = 0; children < src.getChildCount(); children++) { TreeNode tn = (TreeNode) src.getChildAt(children);

if (!tn.isLeaf()) {

电商平台app端开发解决方案

移动商城APP开发方案商城架构需求 20xx年xx月xx日

概述 1.1项目背景 网络购物、移动营销是互联网技术发展的一个趋势,通过网络,可以使客户足不出户的利用网络资源快捷方便的购物。 生活品网购是指消费者通过互联网方式向网站运营商购买生活品的行为,购买物品过程中下单环节通过互联网完成,这样将商家的商业活动的范围可以通过互联网无线扩大,并不仅限于网站,同时利用用户冲动性消费的特性扩大销售。 同时采用APP的营销形式,可以占领用户的手机,获取用户的数据并对数据加以分析,为日后的精准营销可以创造数据基础,占领用户手机,可以方便用户二次或多次访问,提高用户的重复转化率,APP电子商务是未来网络营销的新趋势,谁能占领用户手机,谁能获得更多精准用户的数据,谁能更好的做到重复转化,谁就能取得未来的主动权。 第二章建设目标、原则与内容 2.1 建设目标 1.搭建商品信息在移动终端展示平台,提高企业服务能力; 2.客户可以在网络实现订货,查看货品信息,商家可以提供更加快捷的服务,扩展业务线; 3.可以直观的,快捷的为客户提供商家的最新产品信息,等各类信息等; 4. 通过后台可以管理和收集目标客户的数据,方便日后二次营销; 5. 通过二维码、广告、搜索引擎推广等方式,引导目标客户安装本软件。 2.2 系统使用者

1.广大网民 2.运营人员 3.系统管理员 2.3系统整体架构 2.4系统功能结构 第三章需求规定 3.1主要功能概述 3.1.1 功能概述 会员中心:注册,登陆,会员管理(增加、删除、更改、查询),会员统计功能(实现会员订购成交信息)。 购物车:添加商品,删除商品,计算价格,结账。 产品历史管理:产品历史管理(增加、删除、更改、查询),产品展示。 商品分类:商品类别管理(增加、删除、更改、查询),商品类别展示。 商品管理:商品管理(增加、删除、更改、查询),上传商品图片,删除商品图片,商品展示。 用户评价:用户评价管理(增加、删除、更改、查询) 审批管理:增加、删除、更改、查询、审批通过。Ps:审批用户评价 联系我们:增加、删除、更改、查询。 生活栏目:在线订餐、美食外卖、丹尼斯团购、二手房、二手车、房屋出租、车辆租赁、丹尼斯招聘、求职简历、同城相亲、鲜花配送、儿童玩具、生活超市、童装童鞋、时尚内衣、母婴用品、园艺植物、文具用品、家居日用、跳蚤市场、家政服务、商务信息、

软件开发实施方案

1软件开发实施方案 系统开发严格按照软件工程的方法进行组织,系统的开发过程按照需求分析、系统分析与设计要求、系统编码、系统测试几个过程有序推进。下表所示系统开发流程图,采用原型及迭代方式开发,根据用户需求持续改进,直到最终用户确认满意。 1.1开发流程总述 如下图示流程定义了我公司内部的软件开发过程,以指导和规范软件项目中开发过程的定义和相应的实施。 该过程可划分为一系列子过程,包括:软件需求分析、设计、编码、测试、验收、维护,每个子过程又由一系列任务和活动组成,如设计过程又可分为结构设计和详细设计。但是在实际开发项目中,情况仍然会是千变万化的,因此我们也并不是一成不变的死板执行一个僵化的工作流程,我们的原则是在一个规范流程的指导和约束下,根据具体工程项目的实际要求,为每一个项目评估并制定真正能够最好的满足该项目要求的开发流程。

图 1.1-1 软件开发流程总图

在应用系统软件开发项目中,我们仍将遵循这一思想,这一点将在随后的项目开发实施计划部分有具体的体现,在这里和下面的相关章节中,我们仍将围绕着这个完整的开发流程来分析说明,以此来阐明我们对项目开发的完整过程管理思想和相关实践。下面我们对这个软件开发工作流程进行简要地分解说明。 1.2软件需求分析 (1)概述 由于应用系统与众多相关应用软件需要进行交互,因此需要先对这些应用系统进行分别梳理,充分做好需求调研工作,编写经项目单位认可并评审通过的《系统需求规格说明书》。 软件需求分析是按照项目定义的软件开发过程,根据系统分配给软件的需求(见《系统需求规格说明书》),进行软件质量特性规格说明的过程。该过程包括进一步明确软件运行环境,明确对软件的功能、性能和数据要求,以及软件与硬件、软件与软件之间的接口要求等,并对软件需求进行验证和文档化,即完成对软件需求的分析与规格定义。 本元素在整个过程中的位置如下图所示: 图示:软件需求分析在软件开发过程中的位置 (2)入口准则和出口准则

APP手机客户端开发技术方案-完整版

手机客户端技术方案 中国电信集团系统集成有限责任公司内蒙古分公司 2010年5月 手机客户端技术方案 2 目录 述 “. 3 2需求分析 “ 3系统设计目 . .4 3.1建设意义 “. 3,2建设原 3.3建设模式 “ 4技术解决方案 “. 4,1移动中间件系统概述“, 4.2系统架 构.. 4.3系统组 4,4移动化原理

4.5中间件服务器配置 “. 5系统功能设 6手机适配型 7配置清单“. 手机客户端技术方案 3 1概述 为了提升企事业单位信息化管理水平,提高各级部门的办公效率,加强单位内部 的执行力、凝聚力,自上而下咼度重视信息化系统的建设工作,实现日常公文收 发审批、工作安排、公告通知等日常办公的统一管理,显的日趋重要。 在当前信息化管理平台的基础上,各企事业单位希望引入移动信息化技术,为相关职能部门及工作人员提供手机移动办公,将办公信息化延伸至使用 人员的手机上,实现随时、随地办公,以便能够推动各级部门的精确化、 高效化管理。 中国电信内蒙古分公司作为业界领先的移动信息化解决方案提供商,己经在区内 成功实施了多个综合办公移动化适配项目。内蒙古电信公司有足够的实力将本系 统建设成为一套精品的移动办公信息化平台 2需求分析 传统的信息化管理系统面临的问题: 1)传统办公的缺陷导致了企事业单位整体对外竞争力的降低、工作效率的 低下、成本的增加。 2)发布通知公告,采用人工或者电话、口头通知方式难免出现疏忽与意外,造成遗漏、延误、缺席等。 需求描述: 定制开发企事业单位移动办公系统,包括以下具体内容:定制开发移动办公手 机客户端系统,包括windows mobile、windows等手机操作系统的手机客户端软件;搭建中间件服务器。 定制要求:

软件技术整体解决方案

软件技术整体解决 方案

软件开发技术方案 1.开发框架 开发的系统中所应用的技术都是基于JavaEE,技术成熟稳定又能保持先进性。采用B/S架构使系统能集中部署分布使用,有利于系统升级维护;采用MVC的开发模式并参考SOA体系架构进行功能设计,使得能快速扩展业务功能而不会影响现有系统功能的正常使用,可根据实际业务量进行部分功能扩容,在满足系统运行要求的同时实现成本最小化。系统采用分布式部署,系统功能隔离运行,保障系统整体运行的稳定性。 图1.开发框架与体系结构图 1.1.web端技术栈 (1)前端采用elementUI/jquery/bootstrap/vue实现,前端和Controller交换数据基于json格式。 1.2业务端技术栈 (1)业务端基于springboot、springMVC、JPA、SpringData技术

栈构建,对于复杂的系统则采用springCloud构建。 (2)四层分隔:controller(Facade)/service/dao/entity,其中fa?ade主要用于生成json,实现和前端的数据交换。(2)命名:按照功能模块划分各层包名,各层一致。 2.系统安全保障 2.1 访问安全性 权限管理是系统安全的重要方式,必须是合法的用户才能够访问系统(用户认证),且必须具有该资源的访问权限才能够访问该资源(授权)。 我们系统设计权限模型,标准权限数据模型包括:用户、角色、权限(包括资源和权限)、用户角色关系、角色权限关系。权限分配:经过UI界面方便给用户分配权限,对上边权限模型进行增、删、改、查操作。 基于角色的权限控制策略根据角色判断是否有操作权限,因为角色的变化性较高,如果角色修改需要修改控制代码。 而基于资源的权限控制:根据资源权限判断是否有操作权限,因为资源较为固定,如果角色修改或角色中权限修改不需要修改控制代码,使用此方法系统可维护性很强。建议使用。 2.2 数据安全性 能够从三个层面入手:操作系统;应用系统;数据库;比较常见的是应用系统和数据库层面的安全保障措施。 在操作系统层面经过防火墙的设置。如设置成端口8080只有

智慧城市系统开发解决方案

智慧城市系统开发解决方案 随着互联网的发展与国家对“互联网+”战略的推进,物联网、云计算、移动互联和大数据等新兴热点技术的发展都为智慧城市提供了技术基础。在全球范围内,智慧城市可以被认为是城市信息化的高级阶段,而建设智慧城市已经成为当今世界不可逆转的历史潮流。 而要进行智慧城市建设,配套的智慧城市系统开发的解决方案也就必不可少,汇新云平台已有成熟的智慧城市系统研发解决方案如智慧园区,智慧公安等,如果你有智慧城市系统开发需求,可以在汇新云平台免费发布你的需求! 2010年,IBM正式提出了“智慧的城市”愿景,希望为世界和中国的城市发展贡献自己的力量。IBM经过研究认为,城市由关系到城市主要功能的不同类型的网络、基础设施和环境六个核心系统组成:组织(人)、业务/政务、交通、通讯、水和能源。这些系统不是零散的,而是以一种协作的方式相互衔接。而城市本身,则是由这些系统所组成的宏观系统. 智慧城市系统开发-智慧城市系统开发解决方案 智慧城市的形成因素是什么? 有两种驱动力推动智慧城市的逐步形成,一是以物联网、云计算、移动互联网为代表的新一代信息技术,二是知识社会环境下逐步孕育的开放的城市创新生态。前者是技术创新层面的技术因素,后者是社会创新层面的社会经济因素。由此可以看出创新在智慧城市发展中的驱动作用。清华大学公共管理学院书记、副院长孟庆国教授提出,新一代信息技术与创新2.0是智慧城市的两大基因,缺一不可。 智慧城市的建设意义是什么? 随着信息技术的不断发展,城市信息化应用水平不断提升,智慧城市建设应运而生。建设智慧城市在实现城市可持续发展、引领信息技术应用、提升城市综合竞争力等方面具有重要意义。 1、建设智慧城市是实现城市可持续发展的需要; 2、建设智慧城市是信息技术发展的需要; 3、提高我国综合竞争力的战略选择。 智慧城市系统开发-智慧城市系统开发解决方案 智慧城市是一个多维度的立体工程,智慧园区,智慧出行,智慧医疗、智慧社区、智慧交通等多个领域都是智慧城市建设的发力点。 发展智慧城市,是我国促进城市高度信息化、网络化的重大举措和综合性措施。从设备厂商角度来说,光通信设备厂商、无线通信设备厂商将充分发挥所属技术领域的优势,将无线和有线充分进行融合,实现网络最优化配比,以加速推动智慧城市的发展进程。与之相对应的通信设备厂商、芯片厂商等将从中获得巨大收益。 21世纪的“智慧城市”,能够充分运用信息和通信技术手段感测、分析、整合城市运行核心系统的各项关键信息,从而对于包括民生、环保、公共安全、城市服务、工商业活动在内的各种需求做出智能的响应,为人类创造更美好的城市生活。智慧城市系统开发-智慧城市系统开发解决方案

商城安卓平台APP端开发解决方案

商城安卓平台APP端开发解决方案合川移劢商城APP委托开发方案 商城架构需求调研 文档编号: 顷目名称: 编写: 编写日期: 审核: 审核日期: 批准: 批准日期: 重庆军神科技有限公司 2013年7月3日 目录 目录 第一章概 述 ..................................................................... (3) 1.1 项目背 景 ..................................................................... ........................................... 3 第二章建设目标、原则与内容...................................................................... .. (3) 2.1 建设目 标 ..................................................................... . (3) 2.2 系统使用 者 ..................................................................... (4)

2.3 系统整体架 构 ..................................................................... .. (4) 2.4 系统功能结 构 ..................................................................... ................................... 5 第三章需求规 定 ..................................................................... .. (5) 3.1 主要功能概 述 ..................................................................... ................................... 5 第四章界面和设 计 ..................................................................... ........................................ 7 第五章工作流程和进 度 ..................................................................... .. (8) 5.1 开发部分工作量评估及报价(安卓 APP) (8) 5.2 项目预计投入人 员 ..................................................................... ......................... 10 第六章后期维 护 ..................................................................... .......................................... 10 第七章关于我 们 ..................................................................... (10)

IT软件系统开发方案

IT软件系统开发方案

一、软件项目实施方案概述 软件产品用户购买软件产品之后,不能立即进行使用,需要软件公司的技术人员在软件技术、软件功能、软件操作等方面进行系统调试、软件功能实现、人员培训、软件上线使用、后期维护等一系列的工作,我们将这一系列的工作称为软件项目实施。大量的软件公司项目实施案例证明,软件项目是否成功、用户的软件使用情况是否顺利、是否提高了用户的工作效率和管理水平,不仅取决于软件产品本身的质量,软件项目实施的质量效果也对后期用户应用的情况起到非常重要的影响。 项目实施规范主要包括项目启动阶段、需求调研确认阶段、软件功能实现确认阶段、数据标准化初装阶段、系统培训阶段、系统安装测试及试运行阶段、总体验收阶段、系统交接阶段等八个阶段工作内容。下面将分别介绍每个项目实施

阶段。 二、软件项目实施方案 (一)项目启动阶段 此阶段处于整个项目实施工作的最前期,由成立项目组、前期调研、编制总体项目计划、启动会四个阶段组成。 阶段主任务 1、成立项目组: 部门经理接到实施申请后,任命项目经理,指定项目目标,由部门经理及项目经理一起指定项目组成员及成员任务,并报总经理签署《项目任务书》。 2、前期调研: 项目经理及项目组成员,在商务人员配合下,建立与用户的联系,对合同、用户进行调研。填写《用户及合同信息表》。在项目商务谈判中,商务经理积累了大量的信息,项目组首先应收集商务和合同信息,并与商务经理一起识别哪些个体

和组织是项目的干系人,确定他们的需求和期望,以确保项目开发顺利。 3、编制《项目总体计划》: 《项目总体计划》主要包括以下几方面内容:项目描述,项目目标、主要项目阶段、里程碑、可交付成果等。 4、启动会: 项目组与用户共同召开的宣布项目实施正式开始的会议。会程安排如下: ?共同组建项目实施组织,实施组织的权利和职责;双方签署《项目实施协议》;?项目组介绍《项目总体计划》和《项目实施协议》,包括以下内容:项目目标、主要项目阶段、里程碑、可交付成果及计划的职责分配(包括用户的); ?项目实施中项目管理的必要性和如何进行项目管理,项目的质量如何控制;?项目实施中用户的参与和领导的支持的重要作用; ?阶段验收、技术交接和项目结束后如何对用户提供后续服务。 (二)需求调研确认阶段 此阶段的主要工作是软件公司的项目实施人员向用户调查用户对系统的需求,包括管理流程调研、功能需求调研、报表要求调研、查询需求调研等,实施人员调研完成后,会编写《需求调研分析手册》,并交付用户进行确认,待用户对《需求调研分析手册》上所提到的需求确认完毕后,项目实施人员将以此为依据进行软件功能的实现。如果用户又提出新的需求,实施人员将分析需求的难度及对整个系统的影响程度来确定是否给予实现。 需求调研阶段具体包括如下内容: 1、进行需求调研准备

软件开发方案和实施安排(建文)

软件开发技术指导文件 所有的项目软件开发过程都应遵循一个生命周期模型,在软件的开发策划期间,需要仔细考虑项追求特征和目标,然后选择生命周期模型。在本项目中,本投标单位将选用常用的瀑布型生命周期模型。 瀑布模型的主要特点是:只有当一个阶段的文档已编制好,且该阶段的产品得到质量保证人员()认可后,该阶段才算完成。测试或验证在每个阶段都必须执行。一旦产品完成提交用户,其后的任何修改均属于维护阶段。 在瀑布型模型中,主要定义的过程包括:需求分析、系统分析、代码实现、测试。 ●需求分析 需求分析的追求是通过调查和分析,获取用户需求并定义产品需求。需求分析的输出文档是《需求分析说明书》()。 《需求分析说明书》()将用客户语言来描述系统需求,其主要的追求是作为与用户沟通并达成一致的基础。这些需求需要用户参与进行评审,并得到用户的确认。然后对用户需求进行细化,对比较复杂的用户需求进行建模分析,最终形成面向软件产品的软件需求说明。 需求分析的主要任务包括: 确定需求调查的方式,例如问卷式、面对面谈等。 调查与记录。 分析需求信息。

编写《需求分析说明书》()。 组织《需求分析说明书》()评审。 主要的角色与职责为: 系统分析员,调查和分析用户需求。 客户与最终用户提供必要的需求信息,并确认客户需求。 系统分析员定义产品软件需求。 客户与最终用户提供必要的信息,并确认产品需求。 ●系统设计 系统设计是指设计软件系统的体系架构、用户界面、数据库、模块等,从而在需求和代码实现之间建立桥梁,指导开发人员去实现能满足用户需求的软件产品。系统设计可分为两个阶段:概要设计和详细设计。概要设计的要点是体系架构的设计,详细设计的重点是用户界面设计、数据库设计以及模块的设计。主要的输出文档包括:《系统总体设计报告》。 主要的参与人员包括: 项目经理指定具备相关经验的开发人员进行软件系统架构的设计,这些开发人员又称为体系架构设计人员。 在用户界面的设计中,常常需要美工和用户的参与。 项目经理指定开发人员进行数据库、模块的设计。 系统设计的主要任务包括: 设计准备,包括阅读前一阶段的文档等。 设计,不同的设计内容所采用的方法有所不同,例如对于用户界面的设计,一般采用“原型创作原型评估细化”的步骤或方法。 编写相关的设计文档。 组织设计评审。 ●开发(代码实现) 开发也称为代码实现,其主要的任务为编写整个系统的代码,并进行单元的测试。本过程的输入是个设计文档,输出是源代码、单元测试记录以及代码审查记录。其主要工作任务包括: 准备确定代码规范等标准、准备软件开发环境等。

教育培训APP开发解决方案

教育培训APP开发解决方案 教育培训APP概述 教育培训APP是一个实用性信息平台,为学员和教育机构提供专业、贴心、自主的网络服务,运用互联网技术、创新管理模式,为培训机构搭建一个智能化、个性化、信息化的网络展示平台,提供招生就业、市场营销、品牌推广、业务拓展等专业化服。 移动教育培训行业市场商机 数据显示,每年我国有近1亿人在参加各类培训,庞大的用户基数也给教育培训行业带来了巨大的商机。随着时间的推移,教育培训模式在不断发生变化中,通过APP 手机应用,把线下培训和手机移动学习做有益的整合,这种便捷的培训模式正被越来越多的人所接受。 在众多教育类APP当中,“教育培训”APP无疑是行业的先驱者。湖南艾尼科技专家认为,现代培训机构的招生不应该局限于传统的模式,而应该借助互联网的东风,

面向更广阔的受众。同时学员们在选择自己着意的机构和教育产品也不会局限于“仅仅这么几家”,互联网让他们有了更广阔的选择天地和平台。 教育培训行业为何需要开发APP 1.产品推广渠道有限:很多教育培训企业为推广教育产品,让更多精准客户了解品牌而绞尽脑汁。 2.市场竞争同质化:在传统营销模式下,市场竞争逐渐趋于同质化,行业正在寻求差异化营销方式。 3.利润空间小:在传统的教学模式下,教育培训企业需要投入大量的教学设备、人力成本,降低了利润空间。 教育培训APP开发能够带来什么 对于教育培训机构来说: 精准定位潜在客户:精准推送新课上线、课程推荐等信息,深度挖掘潜在客户 减少教育设备投入:在线教学模式既可以节省大量宣传费用,也可以减少教育设备投入,大大节约成本 学习效果完全掌握:通过对学员资料下载、登录次数统计,可以有效跟进和掌握学员学习效果 定制终端教育方案:根据学员学习情况反馈,定制专业高效的终端教育方案 对于学员来说: 灵活多变的学习方式:无论是等候间歇,还是片断时间,用户可以最大化利用碎片时间来学习。 先进高效的学习理念:在学习中加入许多分享互动环节,联系实际,加强记忆同时

EAS-BOS开发新手入门-开发环境安装配置

EAS BOS开发新手入门 导读 本文档面向设计、开发人员,描述EAS的开发过程中的环境的搭建、配置。 EAS的环境配置一直是新手入门的第一道坎,很多新员工都是直接拷贝导师或者其他开发人员的生产环境。对整个EAS目录结构,环境的配置不熟悉,本文档将尽可能详细的介绍环境安装过程,以及开发中会用到的配置文件修改。 请注意:本文件只作为产品介绍之用,不属于您与金蝶签署的任何协议。本文件仅包括金蝶既定策略、产品及功能方面的信息,不能以本文件作为要求金蝶履行商务条款、产品策略以及开发义务的依据。本文件内容可能随时变更,恕不另行通知。

目录 1.目的和范围 (1) 2.目录结构 (1) 3.环境安装与配置 (3) 3.1.拷贝安装 (3) 3.1.1. 第一步拷贝目录 (3) 3.1.2. 第二步制作虚拟盘 (3) 3.2.PT安装 (3) 3.2.1. 第一步安装admin工具和虚拟磁盘 (3) 3.2.2. 第二步PT安装 (4) 4.部署运行 (6) 4.1.生成EAS库文件 (6) 4.2.客户端设置(非必须) (7) 4.3.服务器端设置 (8) 4.3.1. 数据源配置 (8) 4.3.2. 基础设置 (9) 4.4.源代码编译目录设置 (12) 5.开发工具 (13) 5.1.BOS Studio (13) 5.1.1. 简介 (13) 5.1.2. License导入 (13) 5.2.Eclipse (14) 5.2.1. 简介 (14) 5.2.2. 必备插件 (14) 5.2.3. Eclipse客户端调试设置 (14) 5.2.4. Eclipse服务端调试设置 (15) 5.2.5. 导入EAS库 (16)

控制系统开发解决方案

控制系统开发解决方案 现代化的控制系统产品开发普遍采用V模式开发流程:离线功能仿真—快速控制原型—自动代码生成—硬件在环仿真—测量与标定。新的开发流程结合现有的测试系统构成了统一的从开发到标定的标准流程。在开发过程中使用统一的软硬件平台,可以将在桌面上的控制算法的离线仿真,实验室内的控制原型的测试,以及控制系统的实际测试标定过程统一起来,减少开发的成本和冗余的工作,加快开发进度。 整个设计流程分为五个阶段,各个阶段分别为:功能设计的离线仿真、快速控制原型实现RCP、目标代码生成、硬件在环仿真HIL、测量与标定。 控制系统产品开发过程及所用到的工具: 1、功能设计的离线仿真 用线性或非线性方程对控制系统进行数学描述,根据该数学表述,利用MATLAB/Simulink/Stateflow工具建立控制系统仿真模型。对上述控制系统仿真

模型离线仿真,根据仿真结果分析控制系统的时域频域响应特性,对控制系统仿真平台的算法和仿真模型优化。 针对发动机控制系统的开发,AFT预先开发了柴油机和汽油机模型,用户可以直接调用即可嵌入Simulink模型中进行仿真,为搭建复杂的发动机模型节省了大量的时间。 模型的手动检查也是一项即费时又容易出错的工作,AFT推出的最新的StyleChecker可以大幅减少Simulink,TargetLink和Stateflow模型的检查时间。StyleChecker采用面向用户的菜单导航,可以全自动的生成设计检查报告,并且当StyleChecker提供的检查规则不能满足用户要求时,用户可随时进行修改或者将用户特定的检查规则集成到StyleChecker中。 2、快速控制原型实现RCP 通过实时仿真后,控制算法模型已经得到了初步的验证,我们进一步通过和真实的被控对象相联接验证控制原型在真实情况下的反应,该过程同时包括实际系统中可能包括的各种I/O,软硬件中断等实时特性。然后利用计算机辅助试验工具软件进行各种试验,以检验控制方案对实际对象的控制效果,并随时修改控制参数,直到得到满意的结果为止。即使是模型需要相当大的修改,从修改到下一次对原型的测试也只需要几分钟的时间。从而在最终实现控制方案之前,就已经对可能得到的结果有了相当的把握,避免了过多的资源浪费和时间消耗。 AFT提供的PROtroniC TM是一款接近于产品级的原型开发平台,该原型平台的模块化设计包括了可配置的硬件和软件模块,并且针对汽车用的传感器和驱动器,集成了信号调理和功率放大输出功能,可以更灵活的广泛使用。用户只需轻

房产类APP开发解决方案

房产类APP开发解决方案 在互联网时代,人们所有的行为都和互联网密切地联系起来,这其中就包括购房。人们在租房或者买房的时候,往往没有太多的时间去看房,通常都是抽下班或者休息的时候去,时间呈碎片化。也正是这种形势的出现,房产类APP应用而生。 无论什么时候,对比之下才能见高低,我们想要知道APP能带来哪些好处,就要先分析一下传统房地产所存在弊端。 传统房地产行业存在的弊端 1、楼市高库存:随着我国经济增长速度的放缓,整个房地产行业面临着产能过剩问题,楼市的高库存造成企业经营困难,如何快速去化成为房地产企业急需解决的问题; 2、营销模式单一,缺乏创新:房地产开发拘泥于单一的营销模式,难以扩宽客户群体,特别是线上市场上需求占主导的刚需族; 3、房产中介信息不透明,服务质量差:目前房产中介行业存在房源信息虚假、用户投诉难、市场资讯与行情不透明等问题,且行业服务标准偏低、服务质量差一直是消费者所诟病的。 4、行业竞争激励:现如供过于求成为了房地产行业常态,行业从卖方市场进入买方市场。很多品牌在同一个区域内发生竞争,房地产企业要在行为上更多的偏向于客户思想,提升客户体验。 开发APP的优势: 1.客户精准:人口基数大,用户使用地产APP的频率高,更容易获得精准客户;

2.拓展销售渠道,快速去化:房地产APP可以帮助移动互联网的大量潜在用户找到合适的房源,从而促使房地产项目来电量和来访量提高,带动整个购房流程。 3.精准营销:新品信息、促销信息可以在第一时间推送给客户,实现精准营销,抢占先机; 4.提高信息透明度和匹配度 通过手机端进行实名认证,用户可对虚假信息实时举报,推动信息透明化,匹配租客人群和房东的需求,让房东租起来更放心,让我们的租客租起来也更有底气。 5.树立企业形象:房地产APP软件可把企业发展历程等进行展示,让用户更加了解企业,也可以更好地树立企业品牌形象; 6.沟通便捷:沟通更方便,通过房地产APP软件,用户可在线咨询、电话咨询; 7.提高工作效率:通过房地产APP软件,可在线看房,满意后再预约看房等,节省看房时间,也可提高房地产的工作效率等。 8.提升用户体验 通过APP平台为用户在买房、卖房、租房、装修、金融贷款等每一个环节,提供满足用户需求的专业配套服务,提升用户体验和使用粘性,实现O2O的完整链条。 当然了,只看产品本身的优势,并不具有足够的说服力,我们还需要根据当前的形势以及整个行业大数据来分析它的开发前景究竟如何。

APP端开发解决方案

商城功能方案 天卓网络科技有限公司 年月日

目录 第一章概述............................................................................................ 错误!未指定书签。 项目背景........................................................................................ 错误!未指定书签。第二章建设目标、原则与内容............................................................ 错误!未指定书签。 建设目标........................................................................................ 错误!未指定书签。 客户群体及来源............................................................................ 错误!未指定书签。 系统整体架构................................................................................ 错误!未指定书签。 系统功能结构................................................................................ 错误!未指定书签。第三章需求规定.................................................................................... 错误!未指定书签。 主要功能概述................................................................................ 错误!未指定书签。第四章关于我们.................................................................................... 错误!未指定书签。 天卓网络公司介绍........................................................................ 错误!未指定书签。

软件开发实施计划方案

1软件开发实施案 系统开发格按照软件工程的法进行组织,系统的开发过程按照需求分析、系统分析与设计要求、系统编码、系统测试几个过程有序推进。下表所示系统开发流程图,采用原型及迭代式开发,根据用户需求持续改进,直到最终用户确认满意。 1.1开发流程总述 如下图示流程定义了我公司部的软件开发过程,以指导和规软件项目中开发过程的定义和相应的实施。 该过程可划分为一系列子过程,包括:软件需求分析、设计、编码、测试、验收、维护,每个子过程又由一系列任务和活动组成,如设计过程又可分为结构设计和详细设计。但是在实际开发项目中,情况仍然会是千变万化的,因此我们也并不是一成不变的死板执行一个僵化的工作流程,我们的原则是在一个规流程的指导和约束下,根据具体工程项目的实际要求,为每一个项目评估并制定真正能够最好的满足该项目要求的开发流程。

图 1.1-1 软件开发流程总图

在应用系统软件开发项目中,我们仍将遵循这一思想,这一点将在随后的项目开发实施计划部分有具体的体现,在这里和下面的相关章节中,我们仍将围绕着这个完整的开发流程来分析说明,以此来阐明我们对项目开发的完整过程管理思想和相关实践。下面我们对这个软件开发工作流程进行简要地分解说明。 1.2软件需求分析 (1)概述 由于应用系统与众多相关应用软件需要进行交互,因此需要先对这些应用系统进行分别梳理,充分做好需求调研工作,编写经项目单位认可并评审通过的《系统需求规格说明书》。 软件需求分析是按照项目定义的软件开发过程,根据系统分配给软件的需求(见《系统需求规格说明书》),进行软件质量特性规格说明的过程。该过程包括进一步明确软件运行环境,明确对软件的功能、性能和数据要求,以及软件与硬件、软件与软件之间的接口要求等,并对软件需求进行验证和文档化,即完成对软件需求的分析与规格定义。 本元素在整个过程中的位置如下图所示: 图示:软件需求分析在软件开发过程中的位置 (2)入口准则和出口准则

电商平台app端开发解决方案

移动商城APP 开发方案商城架构需求 20xx 年xx 月xx 日

概述 1.1 项目背景 网络购物、移动营销是互联网技术发展的一个趋势,通过网络,可以使客户足不出户的利用网络资源快捷方便的购物。 生活品网购是指消费者通过互联网方式向网站运营商购买生活品的行为,购买物品过程中下单环节通过互联网完成,这样将商家的商业活动的范围可以通过互联网无线扩大,并不仅限于网站,同时利用用户冲动性消费的特性扩大销售。 同时采用APP的营销形式,可以占领用户的手机,获取用户的数据并对数据加以分析, 为日后的精准营销可以创造数据基础,占领用户手机,可以方便用户二次或多次访问,提高用户的重复转化率,APP电子商务是未来网络营销的新趋势,谁能占领用户手机,谁能获得更多精准用户的数据,谁能更好的做到重复转化,谁就能取得未来的主动权。 第二章建设目标、原则与内容 2.1 建设目标 1.搭建商品信息在移动终端展示平台,提高企业服务能力; 2.客户可以在网络实现订货,查看货品信息,商家可以提供更加快捷的服务,扩展业务线; 3.可以直观的,快捷的为客户提供商家的最新产品信息,等各类信息等; 4. 通过后台可以管理和收集目标客户的数据,方便日后二次营销; 5. 通过二维码、广告、搜索引擎推广等方式,引导目标客户安装本软件2.2 系统使用者

1.广大网民 2.运营人员 3.系统管理员 2.3 系统整体架构 2.4 系统功能结构 第三章需求规定 3.1 主要功能概述 3.1.1 功能概述 会员中心:注册,登陆,会员管理(增加、删除、更改、查询),会员统计功能(实现会员订购成交信息)。 购物车:添加商品,删除商品,计算价格,结账。 产品历史管理:产品历史管理(增加、删除、更改、查询),产品展示。 商品分类:商品类别管理(增加、删除、更改、查询),商品类别展示。 商品管理:商品管理(增加、删除、更改、查询),上传商品图片,删除商品图片,商品展示。 用户评价:用户评价管理(增加、删除、更改、查询) 审批管理:增加、删除、更改、查询、审批通过。Ps:审批用户评价

保险类app开发解决方案

摘要:在移动互联网时代,智能手机的出现让信息数字化得以在移动终端实现。对于我们的生活而言,手机app软件的出现,让我们的生活方式更加便捷。同时这也是一个充满创新惊喜的时代,因此我们惊叹保险app的出现。它的出现不仅改变了人们对保险行业的认识,也帮助保险行业实现了营销创新。 保险app开发广州米点科技表示:在21世纪,保险的品种越来越多,人们可以投保的东西也越来越多。保险一词的本意是稳妥可靠,在社会商业化逐渐发展之后,延伸成为了一种保障机制,定义为规划人生财务的一种工具,市场经济条件下的管理风险的一种基本方式。现在,出现了一种新的说法,保险成为了一种资金理财方式,成为了普通生活理财方式。在移动互联网年代,手机app为我们生活带来了各种便利的体验。而保险app开发也在此时出现在我们的视野中。 在2010年以来,就开始有很多保险提供商提出了要进入移动互联网时代,把业务内容整合到手机应用软件当中。这是保险行业的一种服务模式的创新行动,同时也赢得了更多客户的关注。保险手机app的出现,一方面就是为了给用户提供更便捷、更高效的服务渠道,另一方面则让保险行业提供了统一的标准化的服务内容。 其实在信息数字化的时代,互联网的出现已经帮助传统行业降低了成本,拓展了新的经营管理模式。现在是移动互联网时代,信息数字化已经发展到移动手机上。各种信息通过移动终端实时传递到用户手上,保险行业将获得进一步的低成本空间。 话说回来,开发保险app应用到底给保险商家带来了五个优势:1、开发成本低,2、精度高,3、互动强,4、创意十足,5、增强用户黏性。 对于保险app开发的发展现状,米点科技表示,截至去年已经有超过60%的投资者选择通过互联网了解理财产品,其中利用手机app应用程序进行理财操作的投资者比例仅有25%。但是这个比例正在逐渐增长,可见未来手机保险应用程序有着十分巨大的发展潜能。 我们目前可以使用的保险手机客户端里有基本的理财操作功能,我们可以随时随地查看自己帐号的资金信息,同时可以第一时间与客服取得联系,获得帮助。具体的app功能开发解决方案如下: 1、绑定用户保单帐号信息,提供用户保单方案查询; 2、保险理财信息推送,以及各种投资理财专业知识推送; 3、各种不同类型的保险产品具体信息以及同类型保险产品的对比; 4、客服功能,提供实时客服咨询服务,为用户提供各种帮助指引; 5、提供线上购买小额保险服务,用户可以通过绑定的帐号,添加购买小额保险; 6、实现保险线上线下营销方式的对接,充分发挥保险手机app作为营销平台的优势。 值班记录表 时间:年月日带班领导:

在线学习系统开发方案

新飞跃在线学习系统解决方案 新飞跃信息科技有限公司 2014-3-16

目录 1.新飞跃在线学习系统项目开发背景及意义 (3) 1.1新飞跃信息科技有限公司简介 (3) 1.2新飞跃在线学习系统项目开发背景及意义 (3) 2.新飞跃在线学习系统详细功能需求 (4) 2.1新飞跃在线学习系统功能列表 (4) 2.2新飞跃在线学习系统前台功能需求 (6) 2.3新飞跃在线学习系统后台功能需求 (10) 3.新飞跃在线学习系统解决方案 (12) 3.1软件体系结构 (12) 3.2系统应用环境 (13) 3.2.1硬件环境 (14) 3.2.2软件环境 (14) 3.3软件实现技术 (14) 4.新飞跃在线学习系统实施方案 (15) 4.1实施方案 (15) 4.2时间进度 (16)

1.新飞跃在线学习系统项目开发背景及意义 1.1广州新飞跃信息科技有限公司 1.2 新飞跃在线学习系统项目开发背景及意义 上海新飞跃文化发展有限公司为了提高工作人员工作效率及培训效果、加快公司发展,建设新飞跃在线学习系统。该学习系统具有学员报名交费、购书、在线学习、在线考试等功能。借助该系统,学员报名交费成功后可直接进行在线学习,在线学习达到要求即可直接进入章节练习、模拟测试或在线考试,无需系统管理员时刻监

督和操作。 新飞跃在线学习系统的建设意义如下: 1)方便学员在线报名交费和在线学习。 学员可以直接在新飞跃在线学习系统首页填写个人信息、选择培训教程,提交报名信息并付费,无需到银行付款。交费成功后即可进行在线学习。学员在线学习达到要求后系统自动开通在线章节练习或在线考试。购教材的学员可直接在系统内选购教材,系统能够根据学员所在省份按就近原则邮寄教材。 2)减少系统管理员的工作量 借助该系统,系统管理员无需时刻在电脑前忙于查询到款通知、开通每个学员的在线学习权限及在线考试权限。大大减少系统管理员工作量。 3)提高该公司管理效率,节省公司资源 借助该系统,方便公司对各网点工作的分管。系统根据学员所在省份自动分管到各网点,提高公司工作效率。该公司培训教师无需到全国各个网点进行面授(特殊情况除外),为公司节省资源。2.新飞跃在线学习系统详细功能需求 2.1新飞跃在线学习系统功能列表

产品研发管理的系统解决方案(doc8)(1)

集成产品开发:产品研发管理的系统解决方案 如果把企业比喻为一辆马车,那么营销和研发就是马车的两个轮子。但我们看到,中国企业“研发”轮子依然是那么的弱小,以至于企业发展缺乏后劲,甚至下滑或陷入困境。在“世界工厂”的喧嚣中,我们看到国内企业产品研发的薄弱不仅是单一环节的薄弱,而是从核心技术、子系统/零部件、产品平台到最终产品整个链条都薄弱,当然越是到底层(如核心技术)越薄弱。 难道是国内企业不重视产品研发吗?过去中国企业确实对研发重视不够。现在,应该说国内绝大多数技术型和制造型企业已经越来越重视研发了。但重视研发只是改变企业研发弱势的前提,除此之外,企业还有太多的工作要做,尤其是研发管理体系的建设。 曾经以“手机、Call机、商务通,一个也不能少”而享誉全国的恒基伟业公司,由于没有持续不断地推出具有竞争力的新产品,现在已经很难唤起人们的记忆了。局外人认为公司没有新产品,肯定是企业研发投入不够,事实上相对于企业自身规模来讲,恒基伟业在研发上的投入非常大,2001年仅研发中心就超过100人,算上各地的研发人员,差不多300人。为什么这么一个庞大的研发队伍,不能面对外部竞争的挑战?答案在于研发管理和研发能力。 同恒基伟业一样,国内大多数致力于产品研发的企业在研发管理上困难重重:诸如缺乏明确和前瞻性的研发规划、跨部门协作困难、缺乏有效的结构化的产品开发流程和项目管理、产品质量管理尤其薄弱、不重视技术积累和平台建设以及缺乏有效的研发人员的考评和激励措施等问题正困扰着国内企业。 那么,企业应该建立什么样的研发管理体系呢? IPD—系统性的研发管理解决方案 在国内企业中,在研发管理方面做出努力的当然不仅有华为、中兴、海尔、联想、方太等领先企业。事实上,很多企业在研发管理上都在进行积极的探索。

汽车app开发解决方案

汽车app开发解决方案 据深圳汽车APP开发公司《酷点网络》了解到,随着智能手机的普及,汽车类的手机APP应用软件走进了我们的生活,汽车服务系统的信息化管理必将会为人们提供越来越多的服务,成为人们生活当中的得力助手 汽车类APP定制开发类型 第一类:资讯类: 关于资讯类的应用,比如汽车头条,通过每天对行业中的媒体的最新汽车资讯的摘取,然后通过信息加工,添加部分原创的内容,形成移动端的垂直汽车最新新闻推送给读者。比起PC端,这类整合、筛选之后的精简的新闻内容,更加适合小屏幕智能手机用户的阅读习惯。 第二类:工具类: 工具类应用的工具性较强,其内容相对丰富,通常开发者将它们分为阶段性高频需求和周期性需求。前者为用户提供了各种形式的驾考功能,后者则是为用户提供了查违章、实时路况预测等方面的需求。 第三类:社交类: 社交类应用增强了汽车行业与用户的互动性,用户通过应用可以互相分享最新的汽车资讯内容,以及用户结交车友,探讨汽车保养等方面的话题提供了平台。 汽车app开发一般功能方案: 一、违章服务 1.违章查询展示:此模块主要是用来完成用户违章的查询和信息展示功能,用户可以在查询页面输入相关信息进行车辆的违章查询,并对查询结果进行展示。 2.违章代办服务:此模块主要是实现车辆违章代办的服务,并且要在违章服务页面中对所提供的代缴罚款的种类以及收费标准进行一个全面、直观的展示。用户可以在页面中直接点击“找人代办”按钮享受违章代办服务。 3.数据接口服务:此模块主要是实现了第三方接口的连接,以获取相应的违章数据内容。 二、车险超市 1.车险知识展示:此模块主要是进行车险相关知识的展示,用户可以点击自己想要了解的知识进行详细的了解,还可以搜索自己想要了解的车险知识,并对搜索结果进行展示。 2.优惠活动:此模块主要是对优惠活动的展示,在此模块用户可以看到多家不同车险公司的优惠活动展示,如:代金券领取、免费车险服务、投保返现等。 3.理赔流程展示:此模块主要是实现对常规理赔流程的展示功能,用户可以通过此模块了解理赔的相关流程。 4.特色增值服务:特色增值服务模块主要是对特色服务的展示,如:免费洗车、小赠品等。 三、代审车服务 1.在线预约下单:此模块主要是实现用户的预约功能,用户可以直接在线进行预约,并且下单,省去繁琐的步骤。 2.上门服务:此模块可实现上门服务的功能,如果用户需要工作人员进行上门提车的服

相关文档
相关文档 最新文档