?? jyiccardmanager.java~508~
字號(hào):
return SbsjObj;
}
/**
* 回送監(jiān)控管理數(shù)據(jù)(完稅)
* @param SbsjObject SbsjObject --稅務(wù)登記資料
* @throws TaxBaseICException
*/
public void updateTaxEnd(SwdjzlObject swdjzlObject) throws TaxBaseICException{
//機(jī)器注冊(cè)號(hào)~~總額限額~~單張限額~~退票總額~~授權(quán)期限~~TSAM卡注冊(cè)號(hào)~~明細(xì)標(biāo)志
String swdjxx = swdjzlObject.getSkjh() + SPLITTER
+ Long.toString(swdjzlObject.getzexz()*100) + SPLITTER
+ Long.toString(swdjzlObject.getdzxe()*100) + SPLITTER
+ Long.toString(swdjzlObject.gettpxe()*100) + SPLITTER
+ Calendar2Str(swdjzlObject.getBsrq()) + SPLITTER
+ swdjzlObject.getskkdm() + SPLITTER
+ swdjzlObject.getmxbz();
System.out.println(swdjxx);
ArrayList szsm_sl = swdjzlObject.getJyxmmx();
int intSize = szsm_sl.size(); //得到數(shù)組的中項(xiàng)目的個(gè)數(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)+稅種稅目中文名稱(chēng)+稅種稅目英文名稱(chēng)
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();
System.out.println(arrs_zsmmx[i]);
objJyxmmx = null;
}
String strReturn = Hsjksj(swdjxx, arrs_zsmmx); //調(diào)用C函數(shù)接口將稅務(wù)登記資料寫(xiě)入IC卡中
if (!strReturn.equals(SUCCESS)) {
throw new TaxJYICException(strReturn);
}
}
public FpsyqkObject getFpsyxx(SwdjzlObject swdjzl) throws TaxBaseICException
{
FpsyqkObject retObject = new FpsyqkObject();
ArrayList list_fpsyxx = new ArrayList();
String[] arr_fpsyxx = new String[200];
String strRet = ReadFpsyxx(swdjzl.getSkjh(),arr_fpsyxx);
if (strRet.equals(SUCCESS))
{
for (int i=0; i<200; i++)
{
if (arr_fpsyxx[i] == null || arr_fpsyxx[i].equals(""))
continue;
FpsyxxObject fpsyxxObj = new FpsyxxObject();
String[] arrfpsyxxElement = split(arr_fpsyxx[i], SPLITTER);
int arrlen = arrfpsyxxElement.length;
fpsyxxObj.setfpdm(arrfpsyxxElement[0]);
fpsyxxObj.setqshm(arrfpsyxxElement[1]);
fpsyxxObj.setjzhm(arrfpsyxxElement[2]);
fpsyxxObj.setzcfp(Integer.parseInt(arrfpsyxxElement[3]));
fpsyxxObj.settpzs(Integer.parseInt(arrfpsyxxElement[4]));
fpsyxxObj.setfpzs(Integer.parseInt(arrfpsyxxElement[5]));
fpsyxxObj.setzcje(Double.parseDouble(arrfpsyxxElement[6])/100);
fpsyxxObj.settpje(Double.parseDouble(arrfpsyxxElement[7])/100);
fpsyxxObj.setkpqsrq(ChangeStr_Cale(arrfpsyxxElement[8]));
fpsyxxObj.setkpjzrq(ChangeStr_Cale(arrfpsyxxElement[9]));
list_fpsyxx.add(fpsyxxObj);
fpsyxxObj = null;
}
retObject.setFpsyxx(list_fpsyxx);
}else {
//執(zhí)行時(shí)發(fā)生錯(cuò)誤
throw new TaxJYICException(strRet);
}
return retObject;
}
/**
* 讀取發(fā)票明細(xì)(讀大容量卡)
* @throws TaxBaseICException
* @return SbfpmxsjObject
*/
public FpsyqkObject getFpmxsj() throws TaxBaseICException{
FpsyqkObject retObject = new FpsyqkObject();
ArrayList arrlist_fpmx = new ArrayList();
String[] arr_fpmx_temp = new String[0];
String str_ret;
str_ret = Read45XX();
String[] arrRet = split(str_ret,SPLITTER);
if (arrRet[0].equals(SUCCESS))
{
SwdjzlObject swdjzl = new SwdjzlObject();
swdjzl.setSwdjh(arrRet[1]);
str_ret = ReadFpmx(arr_fpmx_temp); //調(diào)用c函數(shù)得到卡上的數(shù)據(jù)
String[] arrbsfpxxElement_temp = split(str_ret, SPLITTER);
if (!arrbsfpxxElement_temp[0].equals(SUCCESS)) {
int int_mxts = Integer.parseInt(arrbsfpxxElement_temp[1]);
String[] arr_fpmx = new String[int_mxts];
str_ret = ReadFpmx(arr_fpmx); //調(diào)用c函數(shù)得到卡上的數(shù)據(jù)
String[] arrbsfpxxElement = split(str_ret, SPLITTER);
if (arrbsfpxxElement[0].equals(SUCCESS)) {
for (int i = 0; i < int_mxts; i++) {
SbfpmxsjObject fpmx_obj = new SbfpmxsjObject();
String[] arrbsfpmxsjElement = split(arr_fpmx[i],SPLITTER);
//發(fā)票代碼 + 發(fā)票號(hào)碼
//項(xiàng)目1 + 金額1 + 項(xiàng)目2 + 金額2
//項(xiàng)目3 + 金額3 + 項(xiàng)目4 + 金額4
//開(kāi)票日期 + 稅控防偽碼 + 發(fā)票類(lèi)型
//付款方稅務(wù)登記號(hào) + 付款單位名稱(chēng)
fpmx_obj.setfpdm(arrbsfpmxsjElement[0]);
fpmx_obj.setfphm(arrbsfpmxsjElement[1]);
fpmx_obj.setxm1(arrbsfpmxsjElement[2]);
fpmx_obj.setje1(Double.parseDouble(arrbsfpmxsjElement[3]) / 100);
fpmx_obj.setxm2(arrbsfpmxsjElement[4]);
fpmx_obj.setje2(Double.parseDouble(arrbsfpmxsjElement[5]) / 100);
fpmx_obj.setxm3(arrbsfpmxsjElement[6]);
fpmx_obj.setje3(Double.parseDouble(arrbsfpmxsjElement[7]) / 100);
fpmx_obj.setxm4(arrbsfpmxsjElement[8]);
fpmx_obj.setje4(Double.parseDouble(arrbsfpmxsjElement[9]) / 100);
fpmx_obj.setkprq(ChangeStr_Cale(arrbsfpmxsjElement[10]));
fpmx_obj.setskfwem(arrbsfpmxsjElement[11]);
fpmx_obj.setfplx(arrbsfpmxsjElement[12]);
fpmx_obj.setfkf_swdjh(arrbsfpmxsjElement[13]);
if (arrbsfpmxsjElement.length > 14)
fpmx_obj.setfkf_mc(arrbsfpmxsjElement[14]);
arrlist_fpmx.add(fpmx_obj);
fpmx_obj = null;
}
retObject.setFpsymx(arrlist_fpmx);
}else {
//執(zhí)行時(shí)發(fā)生錯(cuò)誤
throw new TaxJYICException(arrbsfpxxElement[0]);
}
}
}else {
//執(zhí)行時(shí)發(fā)生錯(cuò)誤
throw new TaxJYICException(arrRet[0]);
}
return retObject;
}
public SwdjzlObject getTSAMCode() throws TaxBaseICException
{
String strSwdjzl = null;
SwdjzlObject retObject = new SwdjzlObject();
strSwdjzl = ReadTSAMCode(); //調(diào)用C函數(shù)接口返回稅務(wù)登記資料的字符串
//String[] arrSwdjzl = strSwdjzl.split(SPLITTER);
String[] arrSwdjzl = split(strSwdjzl,SPLITTER);
if (arrSwdjzl[0].equals(SUCCESS)) {
//執(zhí)行成功
//稅控卡號(hào)~~稅控機(jī)號(hào)
if (arrSwdjzl.length > 1)
retObject.setskkdm(arrSwdjzl[1]); //稅控卡號(hào)
if (arrSwdjzl.length > 2)
retObject.setSkjh(arrSwdjzl[2]); //稅控機(jī)號(hào)
}
else {
//執(zhí)行時(shí)發(fā)生錯(cuò)誤
throw new TaxJYICException(arrSwdjzl[0]);
}
return retObject;
}
public ArrayList getTIDXX() throws TaxBaseICException
{
ArrayList skjxxlist = new ArrayList();
String[] arrskjxx = new String[10];
String strReturn = ReadTIDXX(arrskjxx);
if (strReturn.equals(SUCCESS)) {
for (int i=0; i<10; i++)
{
if (arrskjxx[i] == null || arrskjxx[i].equals(""))
continue;
String[] arrskjElement = split(arrskjxx[i], SPLITTER);
SwdjzlObject swdjzl_obj = new SwdjzlObject();
swdjzl_obj.setskkdm(arrskjElement[0]);
if (arrskjElement.length > 1)
{
swdjzl_obj.setSkjh(arrskjElement[1]);
}
skjxxlist.add(swdjzl_obj);
swdjzl_obj = null;
}
}else {
//執(zhí)行時(shí)發(fā)生錯(cuò)誤
throw new TaxJYICException(strReturn);
}
return skjxxlist;
}
public SwdjzlObject getyhkh() throws TaxBaseICException
{
String strRet = null;
SwdjzlObject retObject = new SwdjzlObject();
strRet = ReadYhkh(); //調(diào)用C函數(shù)接口返回用戶(hù)卡卡號(hào)的字符串
//String[] arrSwdjzl = strRet.split(SPLITTER);
String[] arrSwdjzl = split(strRet,SPLITTER);
if (arrSwdjzl[0].equals(SUCCESS)) {
retObject.setyhkh(arrSwdjzl[1]);
}else {
//執(zhí)行時(shí)發(fā)生錯(cuò)誤
throw new TaxJYICException(arrSwdjzl[0]);
}
return retObject;
}
public void setyhkkh(SwdjzlObject swdjzlObject) throws TaxBaseICException
{
String strReturn = WriteYhkh(swdjzlObject.getyhkh());
if (!strReturn.equals(SUCCESS)) {
throw new TaxJYICException(strReturn);
}
}
//加載函數(shù)庫(kù)
static {
System.loadLibrary("JYICCardNJManager");
}
private static native String saveCshxx(String Swdjzl, String[] Jyxmmx); //封裝IC卡發(fā)行初始化卡函數(shù)(寫(xiě)稅務(wù)登記資料的函數(shù))
private static native String saveCbsxx(String Swdjzl); //封裝IC卡發(fā)行抄報(bào)稅卡函數(shù)
private static native String bfCbskI(String Swdjzl); //封裝IC卡補(bǔ)發(fā)I型機(jī)抄報(bào)稅卡函數(shù)
private static native String bfXtszk(String Swdjzl); //封裝IC卡補(bǔ)發(fā)I型機(jī)系統(tǒng)設(shè)置卡函數(shù)
private static native String bfSkyk(String Swdjzl); //封裝IC卡補(bǔ)發(fā)I型機(jī)收款員卡函數(shù)
private static native String bfWxk(String Swdjzl); //封裝IC卡補(bǔ)發(fā)I型機(jī)維修卡函數(shù)
private static native String getSwdjzl(); //封裝取稅務(wù)登記資料的函數(shù)
private static native String chgBsrq(String Swdjzl); //封裝修改報(bào)稅日期的函數(shù)
private static native String getFpsyqk(String[] Wsyfp, String[] Zxfpmx, String[] Zffpmx); //封裝讀取發(fā)票使用情況的函數(shù)
private static native String chgCfpbz(String Swdjzl); //封裝回寫(xiě)抄發(fā)票成功標(biāo)志的函數(shù)
private static native String getSbsj(String[] Yhzmx, String[] Rhzmx); //封裝讀取申報(bào)數(shù)據(jù)的函數(shù)
private static native String chgSbsjbz(String Swdjzl); //封裝回寫(xiě)抄發(fā)票成功標(biāo)志的函數(shù)
private static native String cleanIC(int type, String kmm); //封裝清除卡數(shù)據(jù)的函數(shù)
private static native String setReader(String[] setting); //封裝設(shè)置讀卡器函數(shù)
private static native String getReader(String[] setting); //封裝讀卡器設(shè)置函數(shù)
private static native String saveFpxs(String Kmm, String[] Fpxsxx); //封裝寫(xiě)發(fā)票銷(xiāo)售信息的函數(shù)
private static native String[] getFpxs(); //封裝取讀取發(fā)票銷(xiāo)售信息的函數(shù)
private static native String zxFpxs(String Kmm, String[] Zxfpxx); //封裝注銷(xiāo)發(fā)票銷(xiāo)售信息的函數(shù)
/**
* 交通運(yùn)輸業(yè)(南京)稅控接口增加項(xiàng)目 @author 李大軍
* @date 2004-05-28
*/
private static native String MakeTIDCard(String swdjxx, String[] szsmxx, boolean isAdd); //發(fā)行用戶(hù)卡
private static native String MakeTSAMCard(String swdjxx, String[] szsmxx); //發(fā)行稅控卡
private static native String MakeAT45Card(String nshxx); //發(fā)行大容量卡
private static native String MakeCheckCard(String CheckCardxx); //發(fā)行稅務(wù)管理卡
private static native String ChangeTaxItems(String swdjxx, String[] szsmxx); //修改稅種稅目信息
private static native String Sksjhc(String[] sksbsj); //稅控?cái)?shù)據(jù)回傳(報(bào)稅)
private static native String Hsjksj(String swdjxx, String[] szsmxx); //回送監(jiān)控管理數(shù)據(jù)(完稅)
private static native String ReadFpmx(String[] fpmxsj); //讀取發(fā)票明細(xì)信息
private static native String ReadTSAMCode(); //讀稅控卡的卡號(hào)、機(jī)器號(hào)
private static native String ReadTIDXX(String[] skkxx); //讀用戶(hù)卡中稅控卡信息(卡號(hào)、機(jī)器號(hào))列表
private static native String ReadFpsyxx(String skjh, String[] fpsyxx); //讀用戶(hù)卡中稅控機(jī)發(fā)票使用信息列表
private static native String ReadYhkh(); //讀用戶(hù)卡卡號(hào)
private static native String WriteYhkh(String yhkh); //寫(xiě)用戶(hù)卡卡號(hào)
private static native String Read45XX(); //讀大容量卡基本信息
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -