?? jyiccardmanager.java~504~
字號:
return SbsjObj;
}
/**
* 回送監控管理數據(完稅)
* @param SbsjObject SbsjObject --稅務登記資料
* @throws TaxBaseICException
*/
public void updateTaxEnd(SwdjzlObject swdjzlObject) throws TaxBaseICException{
//機器注冊號~~總額限額~~單張限額~~退票總額~~授權期限~~TSAM卡注冊號~~明細標志
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(); //得到數組的中項目的個數
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 = Hsjksj(swdjxx, arrs_zsmmx); //調用C函數接口將稅務登記資料寫入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 {
//執行時發生錯誤
throw new TaxJYICException(strRet);
}
return retObject;
}
/**
* 讀取發票明細(讀大容量卡)
* @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); //調用c函數得到卡上的數據
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); //調用c函數得到卡上的數據
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);
//發票代碼 + 發票號碼
//項目1 + 金額1 + 項目2 + 金額2
//項目3 + 金額3 + 項目4 + 金額4
//開票日期 + 稅控防偽碼 + 發票類型
//付款方稅務登記號 + 付款單位名稱
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 {
//執行時發生錯誤
throw new TaxJYICException(arrbsfpxxElement[0]);
}
}
}else {
//執行時發生錯誤
throw new TaxJYICException(arrRet[0]);
}
return retObject;
}
public SwdjzlObject getTSAMCode() throws TaxBaseICException
{
String strSwdjzl = null;
SwdjzlObject retObject = new SwdjzlObject();
strSwdjzl = ReadTSAMCode(); //調用C函數接口返回稅務登記資料的字符串
//String[] arrSwdjzl = strSwdjzl.split(SPLITTER);
String[] arrSwdjzl = split(strSwdjzl,SPLITTER);
if (arrSwdjzl[0].equals(SUCCESS)) {
//執行成功
//稅控卡號~~稅控機號
if (arrSwdjzl.length > 1)
retObject.setskkdm(arrSwdjzl[1]); //稅控卡號
if (arrSwdjzl.length > 2)
retObject.setSkjh(arrSwdjzl[2]); //稅控機號
}
else {
//執行時發生錯誤
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 {
//執行時發生錯誤
throw new TaxJYICException(strReturn);
}
return skjxxlist;
}
public SwdjzlObject getyhkh() throws TaxBaseICException
{
String strRet = null;
SwdjzlObject retObject = new SwdjzlObject();
strRet = ReadYhkh(); //調用C函數接口返回用戶卡卡號的字符串
//String[] arrSwdjzl = strRet.split(SPLITTER);
String[] arrSwdjzl = split(strRet,SPLITTER);
if (arrSwdjzl[0].equals(SUCCESS)) {
retObject.setyhkh(arrSwdjzl[1]);
}else {
//執行時發生錯誤
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);
}
}
//加載函數庫
static {
System.loadLibrary("JYICCardNJManager");
}
private static native String saveCshxx(String Swdjzl, String[] Jyxmmx); //封裝IC卡發行初始化卡函數(寫稅務登記資料的函數)
private static native String saveCbsxx(String Swdjzl); //封裝IC卡發行抄報稅卡函數
private static native String bfCbskI(String Swdjzl); //封裝IC卡補發I型機抄報稅卡函數
private static native String bfXtszk(String Swdjzl); //封裝IC卡補發I型機系統設置卡函數
private static native String bfSkyk(String Swdjzl); //封裝IC卡補發I型機收款員卡函數
private static native String bfWxk(String Swdjzl); //封裝IC卡補發I型機維修卡函數
private static native String getSwdjzl(); //封裝取稅務登記資料的函數
private static native String chgBsrq(String Swdjzl); //封裝修改報稅日期的函數
private static native String getFpsyqk(String[] Wsyfp, String[] Zxfpmx, String[] Zffpmx); //封裝讀取發票使用情況的函數
private static native String chgCfpbz(String Swdjzl); //封裝回寫抄發票成功標志的函數
private static native String getSbsj(String[] Yhzmx, String[] Rhzmx); //封裝讀取申報數據的函數
private static native String chgSbsjbz(String Swdjzl); //封裝回寫抄發票成功標志的函數
private static native String cleanIC(int type, String kmm); //封裝清除卡數據的函數
private static native String setReader(String[] setting); //封裝設置讀卡器函數
private static native String getReader(String[] setting); //封裝讀卡器設置函數
private static native String saveFpxs(String Kmm, String[] Fpxsxx); //封裝寫發票銷售信息的函數
private static native String[] getFpxs(); //封裝取讀取發票銷售信息的函數
private static native String zxFpxs(String Kmm, String[] Zxfpxx); //封裝注銷發票銷售信息的函數
/**
* 交通運輸業(南京)稅控接口增加項目 @author 李大軍
* @date 2004-05-28
*/
private static native String MakeTIDCard(String swdjxx, String[] szsmxx, boolean isAdd); //發行用戶卡
private static native String MakeTSAMCard(String swdjxx, String[] szsmxx); //發行稅控卡
private static native String MakeAT45Card(String nshxx); //發行大容量卡
private static native String MakeCheckCard(String CheckCardxx); //發行稅務管理卡
private static native String ChangeTaxItems(String swdjxx, String[] szsmxx); //修改稅種稅目信息
private static native String Sksjhc(String[] sksbsj); //稅控數據回傳(報稅)
private static native String Hsjksj(String swdjxx, String[] szsmxx); //回送監控管理數據(完稅)
private static native String ReadFpmx(String[] fpmxsj); //讀取發票明細信息
private static native String ReadTSAMCode(); //讀稅控卡的卡號、機器號
private static native String ReadTIDXX(String[] skkxx); //讀用戶卡中稅控卡信息(卡號、機器號)列表
private static native String ReadFpsyxx(String skjh, String[] fpsyxx); //讀用戶卡中稅控機發票使用信息列表
private static native String ReadYhkh(); //讀用戶卡卡號
private static native String WriteYhkh(String yhkh); //寫用戶卡卡號
private static native String Read45XX(); //讀大容量卡基本信息
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -