📄 zzslinsert.java
字号:
/**
* 至尊双利价格跑批处理
* author:feizhigao
* 2008-4-7
*/
package com.NCL.axis.Batch;
import java.util.*;
import com.sinosoft.common.*;
import com.NCL.axis.*;
import com.NCL.*;
import org.dom4j.Element;
public class ZzslInsert{
public static Timer timer = new Timer();
public static boolean timerstate = false; //执行状态
public static final String excuteTime = "08:00:00"; //执行的时间
/***
* 至尊双利价格数据提取
* 星期六、星期日、指定的日期不进行数据提取
*/
public static boolean Insert(){
String thisDate = Data.getCurrentDate();
//判断是否取数
//星期六、星期日不取数
//读取数据库,在数据库中存在的日期不取数
String tmpDate = Data.getCurrentDateTime("E");
if("星期六".equals(tmpDate)){
System.out.println("今天是星期六,系统不进行至尊双利价格发布。");
return true;
}else if("星期日".equals(tmpDate)){
System.out.println("今天是星期日,系统不进行至尊双利价格发布。");
return true;
}
// PriceDate pd = new PriceDate();
// pd.settStartDate(thisDate);
// pd.setfEndDate(thisDate);
// String ID = pd.find(pd, 1, 1);
// if(Data.hasValue(ID)){
// System.out.println("今天是指定不取数的日期,系统不进行至尊双利价格发布。");
// return true;
// }
CustomSearch cs = new CustomSearch();
System.out.println("开始提取至尊双利价格数据...");
Element ele = cs.InsuaccInsertTimer("00907000");
String RiskCode = "";
String RiskName = "";
String RiskShortName = "";
String LastBalaDate = "";
String LastRate = "";
String LastTerminateRate = "";
String EnsureRate ="";
String EnsureRateStartDate ="";
String EnsureRateEndDate ="";
String TerminateRateStartDate = "";
String TerminateRateEndDate = "";
while(ele!=null){
RiskCode = cs.getElementText(ele, "RiskCode");
RiskName = cs.getElementText(ele, "RiskName");
RiskShortName = cs.getElementText(ele, "RiskShortName");
LastBalaDate = cs.getElementText(ele, "LastBalaDate");
LastRate = cs.getElementText(ele, "LastRate");
LastTerminateRate = cs.getElementText(ele, "LastTerminateRate");
EnsureRate = cs.getElementText(ele, "EnsureRate");
EnsureRateStartDate = cs.getElementText(ele, "EnsureRateStartDate");
// EnsureRateEndDate = cs.getElementText(ele, "EnsureRateEndDate");
EnsureRateEndDate = EnsureRateStartDate.substring(0,4)+"-12-31";
TerminateRateStartDate = cs.getElementText(ele, "TerminateRateStartDate");
TerminateRateEndDate = cs.getElementText(ele, "TerminateRateEndDate");
if(!Data.hasValue(LastBalaDate)){
System.out.println("LastBalaDate为空");
LastBalaDate = Data.getCurrentDate();
}
LastRate = movePoint(LastRate);
LastTerminateRate = movePoint(LastTerminateRate);
EnsureRate = movePoint(EnsureRate);
//TODO 创建至尊双利产品
UniversalGS gs = new UniversalGS();
gs.set("RiskCode",RiskCode); //设定RiskCode
gs.set("RiskName",RiskName);
gs.set("RateMonth",LastRate);
gs.set("RateYear",LastTerminateRate);
gs.set("RateAssue",EnsureRate);
gs.set("IsDisplay","1");
gs.set("ValuationUnit","M");
gs.set("ValuationDate",LastBalaDate);
gs.set("RateAssueStartDate",EnsureRateStartDate);
gs.set("RateAssueEndDate",EnsureRateEndDate);
gs.set("RangeStartDate",TerminateRateStartDate);
gs.set("RangeEndDate",TerminateRateEndDate);
gs.create();
gs.clear();
ele = cs.getNextElements();
}
return true;
}
/**
* 定时处理
* @return boolean
*/
public boolean PriceInfo(){
if(timerstate){
System.out.println("Error:InsuaccInsert.PriceInfo() is started.");
return false;
}
String currentTime = Data.getCurrentTime();
long result = Data.returnSec(excuteTime)-Data.returnSec(currentTime);
while(result<0)result += 24*3600;
timer.schedule(new InsuaccInsertTask(), 1000*result, 1000*24*3600);
timerstate = true;
System.out.println("InsuaccInsert timer is start");
return true;
}
class InsuaccInsertTask extends java.util.TimerTask{
/**
* 启动线程
*/
public void run(){
InsuaccInsert.Insert();
}
}
/**
* 小数点向右移两位,并且去掉无效的"0"
* @param str 源数据
* @return String
*/
public static String movePoint(String str){
String tmpStr = str;
try{
int tmp = tmpStr.indexOf(".");
if(tmp==-1)return tmpStr; //不是小数,返回原值
tmpStr += "00";
tmpStr = tmpStr.substring(0,tmp) + tmpStr.substring(tmp+1,tmp+3) + "." + tmpStr.substring(tmp+3);
while(tmpStr.startsWith("0"))tmpStr = tmpStr.substring(1,tmpStr.length());
while(tmpStr.endsWith("0"))tmpStr = tmpStr.substring(0,tmpStr.length()-1);
if(tmpStr.endsWith("."))tmpStr = tmpStr.substring(0,tmpStr.length()-1);
}catch(Exception ex){
ex.printStackTrace();
return str;
}
return tmpStr;
}
/**
* main方法
* @param args
*/
public static void main(String args[]){
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -