private Hashtable loadAgentReference(int cond) throws Exception{
if (agentFeedPath == null || agentFeedPath.length() == 0){
Properties pathProperties = new Properties();
pathProperties.load(new FileInputStream("deliveryxxx.properties"));
for (Enumeration upProp = pathProperties.keys() ; upProp.hasMoreElements() ;){
String ketStr = (String)upProp.nextElement();
//System.out.println(getLogMessage(ketStr+"="+pathProperties.getProperty(ketStr)));
}
agentFeedPath = pathProperties.getProperty("ftpFilePath")
+ pathProperties.getProperty("agentFeedFile");
}
Hashtable agentTable = new Hashtable();
BufferedReader br = new BufferedReader(new FileReader(agentFeedPath));
String line = "";
String agentCode = "";
AgentIdentification agent;
AgentIdentification branch;
ArrayList missEmailBranchHead = new ArrayList();
//200904 add for Checking agent
boolean isActiveAgent = true;
CSMSUserInterface csmsUserDAO = (CSMSUserInterface) new CSMSUserImpl();
CSMSUserVO csmsUser = null;
ArrayList csmsUserList = new ArrayList();
csmsUserList = csmsUserDAO.searchCSMSUserList(null, null);
if (csmsUserList != null) {
csmsUser = (CSMSUserVO)csmsUserList.get(0);
if (csmsUser != null) {
if (!csmsUser.checkUser()) {
csmsUser = null;
System.out.println("CSMS is not available");
}
}
}
//200904<--
while ((line = br.readLine()) != null){
/** Feed Layout AGT_TRACK.DAT
AgentCode X(6)
AgentName X(30)
UnitCode X(5)
BranchCode X(5)
BranchHead X(30)
BranchName X(30)
AgentEmail X(60)
*/
if (line.startsWith("HEADER") || line.startsWith("TRAILER"))
continue;
agentCode = line.substring(0, 6).trim();
agent = new AgentIdentification();
agent.setAgentCode(agentCode);
agent.setAgentName(line.substring(6, 36).trim());
agent.setUnitCode(line.substring(36, 41).trim());
agent.setBranchCode(line.substring(41, 46).trim());
agent.setBranchHead(line.substring(46, 76).trim());
agent.setBranchName(line.substring(76, 106).trim());
agent.setAgentEmail(line.substring(106, 166).trim());
if (cond == BY_AGENT){
agentTable.put(agentCode, agent);
} else if (cond == BY_BRANCH_HEAD){
if (agent.getAgentName().equalsIgnoreCase(agent.getBranchHead())){
if (agent.getAgentEmail().equals("")){
missEmailBranchHead.add(agent);
if (!agentTable.containsKey(agent.getBranchCode())){
agentTable.put(agent.getBranchCode(), agent);
}
} else{
//----------------------
// Check Hashtable
// Assumption: latest agent code value should be the larger
// Keith 2006-02-07
if (agentTable.containsKey(agent.getBranchCode())){
branch = (AgentIdentification)agentTable.get(agent.getBranchCode());
//200904 check if agent active
if (csmsUser != null) {
isActiveAgent = true;
if (csmsUser.searchAgent(agent.getAgentCode())) {
if (!csmsUser.getIsActiveAgent()) {
isActiveAgent = false;
}
} else {
isActiveAgent = false;
}
}
if (isActiveAgent) {
// System.out.println("update branch head: [" + agent.getBranchCode() + "] "
// + branch.getAgentCode() + " >> " + agent.getAgentCode());
agentTable.put(agent.getBranchCode(), agent);
}
// if (Integer.parseInt(agentCode) > Integer.parseInt(branch.getAgentCode()))
// {
// agentTable.put(agent.getBranchCode(), agent);
// } else {
// //Skip record
// }
} else
{
agentTable.put(agent.getBranchCode(), agent);
}
//----------------------
//agentTable.put(agent.getBranchCode(), agent);
}
}
}
}
if (cond == BY_BRANCH_HEAD){
for (int i = 0 ; i < missEmailBranchHead.size() ; i++){
agent = (AgentIdentification)missEmailBranchHead.get(i);
for (Enumeration n = agentTable.keys() ; n.hasMoreElements() ;){
branch = (AgentIdentification)agentTable.get((String)n.nextElement());
if (agent.getBranchHead().equalsIgnoreCase(branch.getBranchHead()) && !branch.getAgentEmail().equals("")){
agent.setAgentEmail(branch.getAgentEmail());
//-----KW060207
if (Integer.parseInt(agent.getAgentCode()) > Integer.parseInt(branch.getAgentCode()))
{
//200904 check if agent active
if (csmsUser != null) {
isActiveAgent = true;
if (csmsUser.searchAgent(agent.getAgentCode())) {
if (!csmsUser.getIsActiveAgent()) {
isActiveAgent = false;
}
} else {
isActiveAgent = false;
}
}
if (isActiveAgent) {
agentTable.put(agent.getBranchCode(), agent);
}
}
//-----
//agentTable.put(agent.getBranchCode(), agent);
break;
}
}
}
}
return agentTable;
}
相关推荐
- **`jdbc.fetch_size`**:此属性用于设置每次从数据库中获取的记录数量。对于大型查询,合理的设置可以显著提高性能。例如,在Oracle数据库中,将此值设为50可以显著提高查询速度。需要注意的是,并非所有数据库都...
9. 存储属性值:在类的成员中,用于存储属性值的是成员变量(Member Variable),属性(Property)是提供访问这些变量的公共接口。 10. 派生类定义:在C#中定义派生类时,使用冒号(:)指定基类。 11. 代码重用:...
它的语法简洁,可以方便地在JSP页面中取值和赋值。 ### JSTL(JSP Standard Tag Library) JSTL是一组标准的标签库,提供了许多用于处理常见任务的功能,如条件判断、循环、XML处理等,使得JSP代码更清晰,更易于...
独立于任何网页位置处,声明一个样式文件(.css为后缀),在文件中声明样式,在使用的网页中引入.css文件。 使用步骤: 1.创建样式表文件(.css) 2.在样式文件中编写样式规则 3.在网页中对样式文件进行引入 <...
2. 数值类型:小数类型(decimal)与浮点类型(float/double)都是用来表示小数的,但decimal类型的精度高于浮点类型,适合财务计算,而浮点类型则在内存中占用更少的空间,适用于需要较大取值范围和牺牲一定精度的...
选项C正确指出了委托类型(C#中的事件处理机制)。 6. 窗体事件:窗体加载时触发的事件是Load事件,对应代码为`Form_Load`。 7. 窗体属性:改变窗体的标题,需要修改的属性是Text属性。 8. 定义接口:在C#中,...
25. C#语言其他知识点:此题未提供具体内容,但C#中还包括其他重要概念,如异常处理(try-catch-finally)、集合(List, Dictionary,TValue>等)、LINQ查询、异步编程(async/await)、泛型、属性(property)、方法...
在iOS开发中,`plist`(Property List)是一种常见的数据存储方式,用于持久化应用程序的数据。它是XML或二进制格式的文件,可以存储数组、字典、字符串、数字、日期等多种基本数据类型。本篇文章将深入探讨iOS中`...
在Java编程中,处理JSON数据是一项常见的任务,而`JsonObject`和`JsonArray`是Gson库中的两个核心类,用于解析和构建JSON对象和数组。Gson是Google提供的一个开源库,它允许我们将Java对象转换为JSON字符串,反之...
在Java世界中,Hibernate是一个非常流行的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据。本篇将详细讲解如何通过Hibernate配置文件自动生成数据库表,以及相关的知识...
在Java Spring框架中,`@Value`注解是用于注入属性值的一个重要工具,它可以从配置文件、表达式语言(SpEL)或者属性源中获取值,并将其赋值给bean的字段、方法或方法/构造函数参数。这个注解使得程序更加灵活,不...
本文将详细介绍如何从Value Stack中取出多个集合数组中的特定值,特别是当存在多个同名集合时如何定位并获取所需数据。 首先,我们需要了解Value Stack在Struts2中的工作原理。Value Stack可以看作是一个存放数据的...
取值是指从树结构中获取特定节点或路径的数据。在编程中,这可能涉及到遍历树的算法,如深度优先搜索(DFS)或广度优先搜索(BFS)。例如,要获取某个特定ID的节点,我们可以从根节点开始,按照ID递归地遍历子节点,...
JavaEE是企业级Java应用程序开发的标准,面试和笔试中经常涉及多个核心概念和技术。以下是对题目中提及的一些关键知识点的详细...以上是JavaEE面试笔试中常见的知识点,掌握这些将有助于理解并解决实际开发中的问题。
- 被包含的文件可以在编译阶段合并到主JSP页面中。 **语法**: ```jsp ``` - `file`属性指定要包含的文件路径。 **示例**: ```jsp <%@ include file="header.jsp" %> ``` **特点**: - 编译时合并,提高执行...
- 文件类型:处理磁盘文件。 - 类类型和接口类型:面向对象编程的核心,类可以包含方法和属性,接口定义行为规范。 - 指针类型:指向其他数据类型的引用。 - 过程类型:封装一组操作。 - 可变类型:可以包含...
Struts2框架作为Java Web开发中的重要组成部分,在处理MVC架构时提供了强大的支持。其中,Struts2标签库(Struts2 Tags Library)是开发者常用的工具之一,它不仅简化了前端页面的开发工作,还提高了应用的性能与可...
PropertySet 语句 声明在窗体属性过程中设置引用到对象的名称,参数和代码。 Public 语句 声明公有变量并分配存储空间。 Raise 方法 产生运行时错误。 Randomize 语句 初始化随机数发生器。 ReDim 语句 声明动态...
在上面的代码中,我们使用了 Jersey 客户端来访问远程服务器,并将文件上传到远程服务器上。 在 springmvc.xml 配置文件解析器 在使用 SpringMVC 实现文件上传功能时,我们需要在 springmvc.xml 配置文件中添加...
Struts2提供了`<s:date>`和`<s:property>`标签,配合资源文件中的格式设置,可以显示符合当地习惯的日期和数字。 7. **测试和优化**:完成上述配置后,可以通过更改浏览器的语言设置或者手动设置session中的语言...