📄 policycard.java
字号:
/**
* 畅游天下
*/
package com.NCL;
import java.io.File;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import jxl.Sheet;
import jxl.Workbook;
import com.sinosoft.common.*;
public class PolicyCard {
protected IndexMap propList;
protected HashSet Property;
private List strList = new ArrayList();
private boolean EOF = false;
private int COUNT;
/**
* 构造函数
*
*/
public PolicyCard(){
propList = new IndexMap();
Property = new HashSet();
Property.add("ID"); //自增长ID
Property.add("NameCH"); //被保险人姓名(中文)
Property.add("NameEH"); //被保险人姓名(英文)
Property.add("Birthday"); //被保险人出生日期
Property.add("PassportNo"); //护照号码
Property.add("PolicyNo"); //保单号码
Property.add("Project"); //所选方案
Property.add("Premium"); //保险费
Property.add("Beneficiary"); //身故受益人
Property.add("StartDate"); //保险起期
Property.add("EndDate"); //保险止期
Property.add("CountryName"); //前往国家
Property.add("CardNo"); //保险卡号
Property.add("PolicyDate"); //投保日期
Property.add("InsurancePeriod"); //保险期间
Property.add("Unit"); //保险期间时间单位
}
/**
* 在此映射中关联指定值与指定键
* @param name 指定键
* @param value 指定值
*/
public void setUpdateValue(String name,Object value){
if(this.set(name,value)){
Object[] uValue = new Object[2];
uValue[0] = name;
uValue[1] = value;
strList.add(uValue);
}
}
/**
* 在此映射中关联指定值与指定键
* @param name 指定键
* @param value 指定值
*/
public boolean set(String name, Object value){
if(Property.contains(name)){
propList.put(name,value);
return true;
}else
return false;
}
/**
* 返回指定键在此映射中所映射的值
* @param name 指定键
* @return
*/
public String get(String name){
if (Property.contains(name)){
String value = (String)propList.get(name);
if(value != null && !value.equals(""))
return value;
else
return "";
}else
return "";
}
/**
* 返回COUNT
* @return int
*/
public int getCOUNT() {
return COUNT;
}
/**
* 设置COUNT
* @param count
*/
public void setCOUNT(int count) {
COUNT = count;
}
/**
* 返回EOF
* @return boolean
*/
public boolean isEOF() {
return EOF;
}
/**
* 设置EOF
* @param eof
*/
public void setEOF(boolean eof) {
EOF = eof;
}
/**
* 清空propList
*
*/
public void clear(){
propList.clear();
}
/**
* 初始化
* @param id 自增长ID
*/
public void init(String id){
DBAccess d = new DBAccess();
String sql = "SELECT * from PolicyCard where id=?";
this.propList = d.init(sql,id,this.Property);
}
/**
* 删除
* @return boolean
*/
public boolean delete(){
StringBuffer SQL = new StringBuffer("delete PolicyCard");
DBAccess DBA = new DBAccess();
return DBA.execute(SQL.toString());
}
/**
* 获取保单详细信息
* @param ID 保单号码或者护照号码
* @return List
*/
public List getPolicyInfo(String ID){
if(!Data.hasValue(ID))return null;
String sql = "select * from PolicyCard where PolicyNo=? or PassportNo=? order by ID";
List l = new ArrayList();
l.add(ID);
l.add(ID);
DBAccess d = new DBAccess();
return d.parseSQL(sql,l);
}
/**
* 分析excel并入库
* @param excelUrl excel路径
* @return boolean
*/
public boolean FromExcelToOracle(String excelUrl){
try{
Workbook workbook = Workbook.getWorkbook(new File(excelUrl));
Sheet sheet = workbook.getSheet(0);
int rows=sheet.getRows();//得到总行数
String sql = "insert into PolicyCard values (POLICYCARDID_SQE.nextval,?,?,to_date(?,'yyyy-MM-dd'),?,?,?,?,?,to_date(?,'yyyy-MM-dd'),to_date(?,'yyyy-MM-dd'),?,?,to_date(?,'yyyy-MM-dd'),?,?)";
List l = new ArrayList();
for(int i=1;i<rows;i++){
String[] colValue = new String[15];
colValue[0] = sheet.getCell(1,i).getContents();//被保险人姓名(中文)
colValue[1] = sheet.getCell(2,i).getContents();//被保险人姓名(英文)
colValue[2] = sheet.getCell(3,i).getContents();//被保险人出生日期 dd/MM/yyyy
if(colValue[2].indexOf("/")>0)colValue[2] = Data.dateFormat(colValue[2],"dd/MM/yyyy", "yyyy-MM-dd");
colValue[3] = sheet.getCell(4,i).getContents();//护照号码
colValue[4] = sheet.getCell(0,i).getContents();//保单号码
colValue[5] = sheet.getCell(5,i).getContents();//所选方案
colValue[6] = sheet.getCell(7,i).getContents();//保险费
colValue[7] = sheet.getCell(6,i).getContents();//身故受益人
colValue[8] = sheet.getCell(8,i).getContents();//保险起期
if(colValue[8].indexOf("/")>0)colValue[8] = Data.dateFormat(colValue[8],"dd/MM/yyyy", "yyyy-MM-dd");
colValue[9] = sheet.getCell(9,i).getContents();//保险止期
if(colValue[9].indexOf("/")>0)colValue[9] = Data.dateFormat(colValue[9],"dd/MM/yyyy", "yyyy-MM-dd");
colValue[10] = sheet.getCell(12,i).getContents();//前往国家
colValue[11] = sheet.getCell(13,i).getContents();//保险卡号
colValue[12] = sheet.getCell(14,i).getContents();//投保日期
if(colValue[12].indexOf("/")>0)colValue[12] = Data.dateFormat(colValue[12],"dd/MM/yyyy", "yyyy-MM-dd");
colValue[13] = sheet.getCell(10,i).getContents();//保险期间
colValue[14] = sheet.getCell(11,i).getContents();//保险期间时间单位
if(!"Y".equals(colValue[14]) && !"D".equals(colValue[14]))colValue[14] = "";
for(int j=0;j<colValue.length;j++){
if(Data.hasValue(colValue[j]))colValue[j] = colValue[j].trim();
}
l.add(colValue);
}
DBAccess d = new DBAccess();
return d.mulExecute(sql,l);
}catch (Exception ex){
ex.printStackTrace();
return false;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -