数据回写代理修改方案
来源:互联网 发布:手机免费进销存软件 编辑:程序博客网 时间:2024/06/08 06:07
目的:避免项目编号生成重复,使获取文档信息一次性获取; 主要功能:对RDB的数据库连接换成连接池;增加一次性获取当前文档域值的类ReturnDocValue与重新再次获得最大项目号的函数;
实现方案: 1. NotesMain() 主函数类,调用ReturnCrmPro与ReturnRdbPro来完成回写Domino与回写关系型数据库Rdb。
2. ReturnCrmPro() 回写到Domino的CRM库类,把原先直接从当前文档中获值的语句替换成从ReturnDocValue返回的HashMap中获值;
3. ReturnRdbPro() 回写到Rdb中的项目与子项的类,把原先直接从当前文档中获值的语句替换成从ReturnDocValue返回的HashMap中获值;把原因用jdbc与数据库定义的连接替换成直接调用连接池;
4. ReturnAllValue() 从外界获取连接所需各参数的类(该参数去掉,因为连接参数在创建连接池的进行属性初始化的时候已经涵盖了)
5. DBConnecitonManager()创建连接池类,调用示例: DBConnectionManager dm = DBConnectionManager.getInstance(); Connection conn = dm.getConnection("jtds"); 其中jtds为db.properties配置文件中的连接池名称。
6. ReturnDocValue() 从当前文档中获取各个域值,返回一个HashMap来存储获取到的各个域值。参数是当前Session,其中项目编号的值需要调用getMaxProNo函数来获得。目的是,把当前文档的值一次性读取出来,放在一HashMap中,以此来减少频繁获取当前文档域值的次数。
7. getMaxProNo () 功能获取最大项目编号,参数当前Session、当前db、当前文档,返回项目编号。 实现方法:拿当前的文档中生成的项目编号projectNo与dbCRm库中的临时项目编号tempProNo(最大项目编号+1)进行比较。如果两不等,则把临时编号tempProNo赋值给当前文档的项目编号projectNo。 getMaxProNo函数的主要代码如下:
public String getMaxProNo(Session session,Database db,Document docCur){
String tempProNo="";
try{
//根据当前db获取简要表FM_CrmInfoParaSet文档docPro
Document docPro= db.getProfileDocument("FM_CrmInfoParaSet","");
//根据docPro获取客户关系管理CRM数据库的路径字符串pathCrm
String pathCrm = docPro.getItemValueString("F_PathName");
//根据pathCrm获取CRM所在的数据库dbCrm
//System.out.println("crm路径:"+pathCrm);
Database dbCrm=session.getDatabase("",pathCrm);
//搜索VD_ProjectNoByPro视图下的第一个文档
View view = dbCrm.getView("VD_ProjectNoByPro");
Document maxDoc = view.getFirstDocument();
if (maxDoc != null) {
String strProjectNo = maxDoc.getItemValueString("F_ProjectN0");
//System.out.println("当前CRM文档的最大项目编号:"+strProjectNo);
int NowProNo = Integer.parseInt(strProjectNo.substring(2));
int InProNo= 1000000+NowProNo + 1;
tempProNo=Integer.toString(InProNo);
tempProNo="PA"+tempProNo.substring(1);
}
}
catch (Exception e)
{System.out.println("获取项目编号出错!");}
return tempProNo;
}
- 数据回写代理修改方案
- 分布式系统写数据功能设计方案
- linux设置代理修改接口数据
- 写Word文档修改列表级别的问题解决方案
- 修改MySQL导入数据文件大小限制的方案
- eclipse开发birt报表时预览数据错误修改方案
- SensorTag-iOS监测数据本地txt存储方案修改
- 修改MySQL导入数据文件大小限制的方案
- 阿里云OSS修改大文件数据优化方案
- eclipse开发birt报表时预览数据错误修改方案
- 代理:如何写一个代理
- FAQ系列 | 写新数据时某列值总是被自动修改
- more effective c++ Item M4 书上写的代理类实现不了,需要修改一下哟
- redis缓存适用于获取数据,那么保存和修改数据的方案呢?
- 写方案字数越多越好写
- 怎样写方案建议书?
- 反写更新代理
- nginx代理weblogic负载方案
- Oracle中的Number和Float类型
- Thread1
- 鼠标事件onmouse资料大全
- 关于Rdlc文件直接打印浅谈
- ExtJs的行选择器操作
- 数据回写代理修改方案
- A*算法详解
- 实例成员的受保护访问
- Sailing (远航) 《哥伦布传》插曲
- 爬虫调研II:Nutch的工作流程和扩展性
- MSN多开,MSN多帐号登陆
- 在打包客户端程序时遇到的问题
- 跨进程的SHOWMODAL效果
- 深入理解Direct3D9