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

📄 wdscyhswdscblh.java

📁 以前做的一个j2ee的项目
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                        } catch (Exception e) {
                            log.sysError("生成一户式文档失败,纳税人内部码:" + nsrnbm +
                                         ",错误信息:" + e.getMessage());
                            String err = e.getMessage();
                            if (err != null) {
                                if (err.length() != 11) {
                                    err = "YCWDSC21300";
                                } else {
                                    if (err.indexOf("YCWDSC2") == -1) {
                                        err = "YCWDSC21300";
                                    }
                                }
                            } else {
                                err = "YCWDSC21300";
                            }
                            throw new Exception(err);
                        }
                        //生成对应一户式文档的名称,名称规则:纳税人编码+年月日(由于生成一户式文档的时间粒度不会小于一天,故
                        //只取年月日)
                        yhsWdName = nsrnbm + CurrYearMonthDay;
                        //生成文档,然后插入到数据库
                        //wd = new WDSCwdDAO();

                        wd.setM_conn(conn);
                        wd.setM_strWdNr(wdNr);
                        wd.setM_wdmc(yhsWdName);
                        if (!WDSCconstant.boolBatchProcess) {
                            wd.setNsrnbm(nsrnbm);
                            wd.setM_strWdscsj(this.CurrYearMonthDayHMS);
                            wd.setM_wdsm("一户式文档");
                            wd.setM_wdczy("000000");
                            wd.setM_wdmbbm(wdmb.getMB_DM());
                            wd.setM_wdnr(BLOB.empty_lob());
                            wd.setM_swjg("%");
                        }
                        try {

                            wd.insertWd();

                        } catch (Exception e) {
                            log.sysError("插入生成的一户式文档失败, 第" +
                                         String.valueOf(totalNsr) + "个纳税人内部码:" +
                                         nsrnbm + ",错误信息:" + e.getMessage());
                            String err = e.getMessage();
                            if (err != null) {
                                if (err.length() != 11) {
                                    err = "YCWDSC21301";
                                } else {
                                    if (err.indexOf("YCWDSC2") == -1) {
                                        err = "YCWDSC21301";
                                    }
                                }
                            } else {
                                err = "YCWDSC21301";
                            }
                            throw new Exception(err);
                        }
                    } catch (SQLException e) {
                        String errInfo = "出现SQLException错误,生成一户式文档退出,错误信息:" +
                                         e.getMessage();
                        log.sysError(errInfo);
                        String err = e.getMessage();
                        if (err != null) {
                            if (err.length() != 11) {
                                err = "YCWDSC21302";
                            } else {
                                if (err.indexOf("YCWDSC2") == -1) {
                                    err = "YCWDSC21302";
                                }
                            }
                        } else {
                            err = "YCWDSC21302"; //生成的一户式文档失败(SQLEXCEPTION)
                        }
                        throw new SQLException(err);
                    } catch (Exception e) {
                        String errInfo = "第" + String.valueOf(totalNsr) +
                                         "个纳税人内部编码:" + nsrnbm +
                                         " 生成一户式文档失败,错误信息:\n" + e.getMessage() +
                                         "。\n";
                        log.sysError(errInfo);
                        String err = e.getMessage();
                        if (err != null) {
                            if (err.length() != 11) {
                                err = "YCWDSC21303";
                            } else {
                                if (err.indexOf("YCWDSC2") == -1) {
                                    err = "YCWDSC21303";
                                }
                            }
                        } else {
                            err = "YCWDSC21303"; //生成的一户式文档失败(EXCEPTION)
                        }
                        throw new SQLException(err);
                    }
                }
                if (type.equals("single")) {
                    break;
                }
                if (m_end > 0) {
                    if (begin > m_end) {
                        break;
                    }
                }
            } //end while
            t_end = Calendar.getInstance().getTimeInMillis();
            tempStr = "本次一户式文档生成完毕!生成文档 " + String.valueOf(totalNsr) +
                      "份,共耗时:" + String.valueOf(t_end - t_run) +
                      "毫秒,其中文档生成耗时:" + String.valueOf(t_end - t_begin) + "毫秒!";
            System.out.println(tempStr);
            log.sysInfo(tempStr);
            sInfo.append(tempStr);
        } catch (SQLException eSql) {
            eSql.printStackTrace();
            throw new SQLException(eSql.getMessage());
        } catch (Exception e) {
            e.printStackTrace();
            throw new Exception(e.getMessage());
        } finally {
            if (conn != null) conn.close();
        }

        return sInfo.toString();
    }

    /**
     * 生成文档(分析模板,将模板指标信息填入一户式文档模板生成一户式文档)
     *
     * @param 模板指标
     * @param wdmb
     * @return 一户式文档
     * @roseuid 42B6352801A5
     */
    //USED
    public String makeWd(WDSCwdmbDAO wdmb) throws Exception {
        if (wdmb == null) {
            throw new Exception("参数为空!");
        }

        StringBuffer sBuffer = null;
        String key = "", keyValue = "";
        Vector vNewZbMsg = null, vvNewZbMsg = null, vZb = null, vZbNr = null;
        WDSCwdmbzbDAO wdzb = new WDSCwdmbzbDAO();
        List list = null;
        try {
            //一户式文档模板
            sBuffer = wdmb.getMB_NR_BUFFER();
            vZb = wdmb.getMB_ZB_MSG();

            //查找是否有循环标志,将循环部分替换,返回内容为:置换后的字符串,添加指标后的指标
            list = replaceLoopStringByKey(constant.loopLeft, constant.loopRight, sBuffer, vZb);

            sBuffer = (StringBuffer)list.get(0);
            vvNewZbMsg = (Vector)list.get(1);
            vNewZbMsg = new Vector();
            if (vvNewZbMsg != null) {
                for (int i=0; i<vvNewZbMsg.size(); i++) {
                    Vector vv=(Vector)vvNewZbMsg.get(i);
                    if (vv != null) {
                        for (int j=0; j<vv.size(); j++) {
                            vNewZbMsg.add(vv.get(j));
                        }
                    }
                }
            }
            if (vNewZbMsg.size() > 0) {
                list = replaceLoopStringByKey(constant.sumLeft,
                                              constant.sumRight, sBuffer,
                                              vNewZbMsg);
                sBuffer = (StringBuffer) list.get(0);
            }
            //////////////////////////////////////////////
            wdzb.setZB_DM(WDSCconstant.WDSCSJ); //WDSCSJ
            Vector vtemp = new Vector();
            vtemp.add(this.CurrYearMonthDayHMS);
            wdzb.setZB_NR(vtemp);
            vZb.add(wdzb);
            vZb = constant.addSysZb(vZb);//增加系统指标

            ///////////////////////////////////////////////
            int pos = 0, keyLen = 0, izbLen = 0;
            izbLen = vZb.size();
            for (int i = 0; i < izbLen; i++) {
                wdzb = (WDSCwdmbzbDAO) vZb.get(i);
                if (wdzb != null) {
                    key = wdzb.getZB_DM();
                    vZbNr = wdzb.getZB_NR();

                    //如果系统的指标前面带有sysflag(sys:)标记,则处理流程如下
                    keyLen = key.length();
                    while ((pos = sBuffer.indexOf(WDSCconstant.flagLeft + key + WDSCconstant.flagRight,
                                                  pos)) != -1) {
                        if (key.indexOf(WDSCconstant.sysflag) >= 0) {
                            keyValue = "通过接口取得系统参数信息(带有sys:标记)";
                            //查找指标名称为: key.substring(key.indexOf(sysflag) + sysflag.length() + flagLeft.length()));
                            sBuffer.replace(pos,
                                            pos + keyLen +
                                            (WDSCconstant.flagLeft.length() +
                                             WDSCconstant.flagRight.length()), keyValue);
                        } else {
                            if ((vZbNr != null) && (vZbNr.size() >= 1)) {
                                keyValue = (String) vZbNr.get(0);
                                if (keyValue == null) {
                                    //取系统文书号
                                    if (key.equals(constant.KEY_SYS_WSH)) {
                                        keyValue = constant.getSysWsh();
                                    } else {
                                        keyValue = "&nbsp";
                                    }
                                }
                                sBuffer.replace(pos,
                                                pos + keyLen +
                                                (WDSCconstant.flagLeft.length() +
                                                 WDSCconstant.flagRight.length()), keyValue);
                            } else {
                                sBuffer.replace(pos,
                                                pos + keyLen +
                                                (WDSCconstant.flagLeft.length() +
                                                 WDSCconstant.flagRight.length()), "&nbsp");
                            }
                        }
                        pos = pos + 1;
                        if (pos > sBuffer.length()) {
                            break;
                        }
                    } //end while

                    //处理带有系统标记的指标
                    //如果系统的指标前面没有带 sysflag(sys:)标记,则处理流程如下
                    pos = 0;
                    keyLen = key.length() + WDSCconstant.sysflag.length();
                    while ((pos = sBuffer.indexOf(WDSCconstant.flagLeft + WDSCconstant.sysflag + key +
                                                  WDSCconstant.flagRight, pos)) != -1) {
                        keyValue = "通过接口取得系统参数信息(没有带sys:标记)";
                        sBuffer.replace(pos,
                                        pos + keyLen +
                                        (WDSCconstant.flagLeft.length() + WDSCconstant.flagRight.length()),
                                        keyValue);
                        pos = pos + 1;
                        if (pos > sBuffer.length()) {
                            break;
                        }
                    } //end while
                } //end wdzb != null
            }

            /*
                       //将字符流保存为临时文件
             StringReader sReader = new StringReader(sBuffer.toString());
                       StringWriter  sWriter = new StringWriter();
                       BufferedReader inReader = new BufferedReader(sReader);
                       long time = System.currentTimeMillis();
                       fileName = this.double2String(time);
                       fileName = TempWdFileName;
                       //BufferedWriter outWriter = new BufferedWriter(new FileWriter(TempWdFileName));
                       BufferedWriter outWriter = new BufferedWriter(sWriter);

                       int c = 0;
                       while ((c=inReader.read()) != -1) {
                           outWriter.write(c);
                       }
             */
            /*
                        char ch[] = new char[1024];
                        while ((inReader.read(ch)) != -1) {
                outWriter.write(ch);
                        }*/
            //sReader.close();
            //inReader.close();
            //outWriter.close();
        } catch (Exception e) {
            System.out.println(e.getMessage());
            throw new Exception(e.getMessage());
        } finally {

        }
        return sBuffer.toString();
    }



    //通过type查找纳税人信息
    //作为文档生成外部接口,获得一户式指标信息
    //返回vector:vector包含hashTable信息
    //hashTable中保存指标名称和指标值,指标名称和表T_WDSC_WDMBZB中定义指标一致
    //USED
    public Vector getYhsMsg(String type, String nsrbm, int begin, int end) throws
            Exception {
        Vector v = new Vector();

        type = ((type == null) ? "" : type.trim());
        nsrbm = ((nsrbm == null) ? "" : nsrbm.trim());

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -