?? jyiccardmanager.java~508~
字號:
int intSize = ListFpxx.size();
String[] arrFpxsxx = new String[intSize];
for (int i = 0; i < intSize; i++) {
FpxxObject objFpxx = new FpxxObject();
objFpxx = (FpxxObject) ListFpxx.get(i);
arrFpxsxx[i] = objFpxx.getZgdm() + SPLITTER + objFpxx.getQshm() +
SPLITTER + objFpxx.getJzhm() + SPLITTER + objFpxx.getSl() +
SPLITTER + objFpxx.getFpzldm();
objFpxx = null;
}
String strReturn = zxFpxs(fpxsjlObject.getKmm(), arrFpxsxx);
if (!strReturn.equals(SUCCESS)) {
throw new TaxJYICException(strReturn);
}
}
public void cleanICK(String kmm) throws TaxBaseICException {
String strReturn = cleanIC(0, kmm);
if (!strReturn.equals(SUCCESS)) {
throw new TaxJYICException(strReturn);
}
}
public ICReaderSettingObject getICReaderSettingObject() throws
TaxBaseICException {
ICReaderSettingObject retSet = new ICReaderSettingObject();
String[] arrSet = new String[2];
String strReturn = getReader(arrSet);
if (strReturn.equals(SUCCESS)) {
retSet.setCkh(Integer.parseInt(arrSet[0]));
retSet.setJqlx(Integer.parseInt(arrSet[1]));
}
else {
throw new TaxJYICException(strReturn);
}
return retSet;
}
public void setICReaderSettingObject(ICReaderSettingObject setting) throws
TaxBaseICException {
String[] arrSet = new String[2];
arrSet[0] = Integer.toString(setting.getCkh());
arrSet[1] = Integer.toString(setting.getJqlx());
String strReturn = setReader(arrSet);
if (!strReturn.equals(SUCCESS)) {
throw new TaxJYICException(strReturn);
}
}
/**
* 交通運(yùn)輸業(yè)(南京)稅控接口增加項(xiàng)目
* @author 李大軍
* @date 2004-05-28
*/
/**
* 發(fā)行用戶卡
* @param swdjzlObject SwdjzlObject
* @throws TaxBaseICException
*/
public void ICMakeTIDCard(SwdjzlObject swdjzlObject, boolean isAdd)throws TaxBaseICException {
//納稅人編號~~納稅人識別號~~補(bǔ)發(fā)次數(shù)~~機(jī)器注冊號
//~~總額限額~~單張限額~~退票總額~~單張退票限額~~授權(quán)期限
//~~申報方式~~發(fā)卡方代碼~~單位名稱~~TSAM卡注冊號~~明細(xì)標(biāo)志
String swdjxx = swdjzlObject.getSwdjh() + SPLITTER
+ swdjzlObject.getNsrsbh() + SPLITTER
+ swdjzlObject.getbfcs() + SPLITTER
+ swdjzlObject.getSkjh() + SPLITTER
+ Long.toString(swdjzlObject.getzexz()*100) + SPLITTER
+ Long.toString(swdjzlObject.getdzxe()*100) + SPLITTER
+ Long.toString(swdjzlObject.gettpxe()*100) + SPLITTER
+ Long.toString(swdjzlObject.getdztpxe()*100) + SPLITTER
+ Calendar2Str(swdjzlObject.getBsrq()) + SPLITTER
+ swdjzlObject.getsbfs() + SPLITTER
+ swdjzlObject.getfkfdm() + SPLITTER
+ swdjzlObject.getNsrmc() + SPLITTER
+ swdjzlObject.getskkdm() + SPLITTER
+ swdjzlObject.getmxbz();
ArrayList szsm_sl= swdjzlObject.getJyxmmx();
int intSize = szsm_sl.size(); //得到數(shù)組的中項(xiàng)目的個數(shù)
String[] arrs_zsmmx = new String[intSize];
for (int i = 0; i < intSize; i++) {
JyxmObject objJyxmmx = new JyxmObject();
objJyxmmx = (JyxmObject) szsm_sl.get(i);
//索引(1)+稅種稅目代碼(4)+ 稅率(2)+稅種稅目中文名稱+稅種稅目英文名稱
String ls_sl = "0000" + Double.toString(objJyxmmx.getsl() * 10000);
int pidx = ls_sl.lastIndexOf(".");
ls_sl = ls_sl.substring(pidx - 4, pidx);
arrs_zsmmx[i] = objJyxmmx.getsy() + SPLITTER
+ objJyxmmx.getsmdm() + SPLITTER
+ ls_sl + SPLITTER
+ objJyxmmx.getXmmc() + SPLITTER
+ objJyxmmx.getXmywmc();
objJyxmmx = null;
}
String strReturn = MakeTIDCard(swdjxx, arrs_zsmmx, isAdd); //調(diào)用C函數(shù)接口將稅務(wù)登記資料寫入IC卡中
if (!strReturn.equals(SUCCESS)) {
throw new TaxJYICException(strReturn);
}
if (swdjzlObject.getyhkh() != null)
{
strReturn = WriteYhkh(swdjzlObject.getyhkh());
if (!strReturn.equals(SUCCESS)) {
throw new TaxJYICException(strReturn);
}
}
}
/**
* 發(fā)行稅控卡
* @param swdjzlObject SwdjzlObject
* @throws TaxBaseICException
*/
public void ICMakeTSAMCard(SwdjzlObject swdjzlObject)throws TaxBaseICException{
//納稅人編號~~納稅人識別號~~補(bǔ)發(fā)次數(shù)~~機(jī)器注冊號
//~~總額限額~~單張限額~~退票總額~~單張退票限額~~授權(quán)期限
//~~申報方式~~發(fā)卡方代碼~~單位名稱~~TSAM卡注冊號~~明細(xì)標(biāo)志
String swdjxx = swdjzlObject.getSwdjh() + SPLITTER
+ swdjzlObject.getNsrsbh() + SPLITTER
+ swdjzlObject.getbfcs() + SPLITTER
+ swdjzlObject.getSkjh() + SPLITTER
+ Long.toString(swdjzlObject.getzexz()*100) + SPLITTER
+ Long.toString(swdjzlObject.getdzxe()*100) + SPLITTER
+ Long.toString(swdjzlObject.gettpxe()*100) + SPLITTER
+ Long.toString(swdjzlObject.getdztpxe()*100) + SPLITTER
+ Calendar2Str(swdjzlObject.getBsrq()) + SPLITTER
+ swdjzlObject.getsbfs() + SPLITTER
+ swdjzlObject.getfkfdm() + SPLITTER
+ swdjzlObject.getNsrmc() + SPLITTER
+ swdjzlObject.getskkdm() + SPLITTER
+ swdjzlObject.getmxbz();
//System.out.println(swdjxx);
ArrayList szsm_sl = swdjzlObject.getJyxmmx();
int intSize = szsm_sl.size(); //得到數(shù)組的中項(xiàng)目的個數(shù)
String[] arrs_zsmmx = new String[intSize];
for (int i = 0; i < intSize; i++) {
JyxmObject objJyxmmx = new JyxmObject();
objJyxmmx = (JyxmObject) szsm_sl.get(i);
//索引(1)+稅種稅目代碼(4)+ 稅率(2)+稅種稅目中文名稱+稅種稅目英文名稱
String ls_sl = "0000" + Double.toString(objJyxmmx.getsl() * 10000);
int pidx = ls_sl.lastIndexOf(".");
ls_sl = ls_sl.substring(pidx - 4, pidx);
arrs_zsmmx[i] = objJyxmmx.getsy() + SPLITTER
+ objJyxmmx.getsmdm() + SPLITTER
+ ls_sl + SPLITTER
+ objJyxmmx.getXmmc() + SPLITTER
+ objJyxmmx.getXmywmc();
objJyxmmx = null;
}
String strReturn = MakeTSAMCard(swdjxx, arrs_zsmmx); //調(diào)用C函數(shù)接口將稅務(wù)登記資料寫入IC卡中
if (!strReturn.equals(SUCCESS)) {
throw new TaxJYICException(strReturn);
}
}
/**
* 發(fā)行大容量卡
* @param swdjzlObject SwdjzlObject
* @throws TaxBaseICException
*/
public void ICMakeAT45Card(SwdjzlObject swdjzlObject)throws TaxBaseICException{
//納稅人識別號+ 納稅人名稱
String khxx = swdjzlObject.getNsrsbh() + SPLITTER
+ swdjzlObject.getNsrmc();
String strreturn = MakeAT45Card(khxx);
if (!strreturn.equals(SUCCESS)) {
throw new TaxJYICException(strreturn);
}
}
/**
* 發(fā)行稅務(wù)管理卡
* @param CheckCardData String
* @throws TaxBaseICException
*/
public void ICMakeCheckCard(CheckCardObject CheckCardObject) throws TaxBaseICException{
String CheckCardxx = CheckCardObject.getnsrbm() + SPLITTER
+ CheckCardObject.getjclb() + SPLITTER
+ CheckCardObject.getwbrzmysy() + SPLITTER
+ CheckCardObject.getjckbm() + SPLITTER
+ Calendar2Str(CheckCardObject.getqyrq()) + SPLITTER
+ Calendar2Str(CheckCardObject.getyxrq()) + SPLITTER
+ CheckCardObject.getjcdwmc();
String str_return = MakeCheckCard(CheckCardxx);
if (!str_return.equals(SUCCESS)) {
throw new TaxJYICException(str_return);
}
}
public void ICChangeTaxItems(SwdjzlObject swdjzlObject)throws TaxBaseICException{
//納稅人編號~~納稅人識別號~~補(bǔ)發(fā)次數(shù)~~機(jī)器注冊號
//~~總額限額~~單張限額~~退票總額~~單張退票限額~~授權(quán)期限
//~~申報方式~~發(fā)卡方代碼~~單位名稱~~TSAM卡注冊號~~明細(xì)標(biāo)志
String swdjxx = swdjzlObject.getSwdjh() + SPLITTER
+ swdjzlObject.getNsrsbh() + SPLITTER
+ swdjzlObject.getbfcs() + SPLITTER
+ swdjzlObject.getSkjh() + SPLITTER
+ Long.toString(swdjzlObject.getzexz()*100) + SPLITTER
+ Long.toString(swdjzlObject.getdzxe()*100) + SPLITTER
+ Long.toString(swdjzlObject.gettpxe()*100) + SPLITTER
+ Long.toString(swdjzlObject.getdztpxe()*100) + SPLITTER
+ Calendar2Str(swdjzlObject.getBsrq()) + SPLITTER
+ swdjzlObject.getsbfs() + SPLITTER
+ swdjzlObject.getfkfdm() + SPLITTER
+ swdjzlObject.getNsrmc() + SPLITTER
+ swdjzlObject.getskkdm() + SPLITTER
+ swdjzlObject.getmxbz();
//System.out.println(swdjxx);
ArrayList szsm_sl = swdjzlObject.getJyxmmx();
int intSize = szsm_sl.size(); //得到數(shù)組的中項(xiàng)目的個數(shù)
String[] arrs_zsmmx = new String[intSize];
for (int i = 0; i < intSize; i++) {
JyxmObject objJyxmmx = new JyxmObject();
objJyxmmx = (JyxmObject) szsm_sl.get(i);
//索引(1)+稅種稅目代碼(4)+ 稅率(2)+稅種稅目中文名稱+稅種稅目英文名稱
String ls_sl = "0000" + Double.toString(objJyxmmx.getsl() * 10000);
int pidx = ls_sl.lastIndexOf(".");
ls_sl = ls_sl.substring(pidx - 4, pidx);
arrs_zsmmx[i] = objJyxmmx.getsy() + SPLITTER
+ objJyxmmx.getsmdm() + SPLITTER
+ ls_sl + SPLITTER
+ objJyxmmx.getXmmc() + SPLITTER
+ objJyxmmx.getXmywmc();
objJyxmmx = null;
}
String strReturn = ChangeTaxItems(swdjxx, arrs_zsmmx); //調(diào)用C函數(shù)接口將稅務(wù)登記資料寫入IC卡中
if (!strReturn.equals(SUCCESS)) {
throw new TaxJYICException(strReturn);
}
}
/**
* 稅控數(shù)據(jù)回傳
* @param int xh
* @throws TaxBaseICException
*/
public SbsjObject getBssj() throws TaxBaseICException {
int arrlen = 0;
SbsjObject SbsjObj = new SbsjObject();
ArrayList sksbsjlist = new ArrayList();
SbsjObj.setSwdjzl(getCbskSwdjzlObject());
//報稅分類金額
String[] arrSbsj = new String[10];
String strReturn = Sksjhc(arrSbsj); //調(diào)用c函數(shù)庫讀卡得到數(shù)據(jù)
if (!strReturn.equals(SUCCESS)) {
throw new TaxJYICException(strReturn);
}
for (int i = 0; i < 10; i++) {
SksbsjObject sksbsjObj = new SksbsjObject();
String[] arrbssjElement = split(arrSbsj[i], SPLITTER);
arrlen = arrbssjElement.length;
//稅控卡注冊號 + 數(shù)據(jù)起始日期 + 數(shù)據(jù)截止日期 + 發(fā)票使用總數(shù)
//退票總數(shù) + 廢票總數(shù) + 狀態(tài)字 + 報稅數(shù)據(jù) + 非對稱簽名 + 6類稅目匯總
if (arrSbsj[i].equals(""))
continue;
sksbsjObj.setTSAMCardhm(arrbssjElement[0]);
sksbsjObj.setsbqsrq(ChangeStr_Cale(arrbssjElement[1]));
sksbsjObj.setsbjzrq(ChangeStr_Cale(arrbssjElement[2]));
sksbsjObj.setfpsyzs(Integer.parseInt(arrbssjElement[3]));
sksbsjObj.settpzs(Integer.parseInt(arrbssjElement[4]));
sksbsjObj.setfpzs(Integer.parseInt(arrbssjElement[5]));
sksbsjObj.setztz(arrbssjElement[6]);
sksbsjObj.setsksjMAC(arrbssjElement[7]);
sksbsjObj.setfdcqm(arrbssjElement[8]);
ArrayList fxmlist = new ArrayList();
for (int j = 0; j < 6; j++) {
if (arrlen > j * 3 + 11) {
FxmhzObject fxmhz = new FxmhzObject();
fxmhz.setSldm(arrbssjElement[j * 3 + 9]);
fxmhz.setYye(Double.parseDouble(arrbssjElement[j * 3 + 10]) /
100);
fxmhz.setFpe(Double.parseDouble(arrbssjElement[j * 3 + 11]) /
100);
fxmlist.add(fxmhz);
}
}
sksbsjObj.setFxmhz(fxmlist);
sksbsjlist.add(sksbsjObj);
sksbsjObj = null;
}
SbsjObj.setSksbsj(sksbsjlist);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -