⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jyiccardmanager.java~504~

📁 java接口(关于java调用动态库
💻 JAVA~504~
📖 第 1 页 / 共 4 页
字号:
        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 + -