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

📄 wdscyhsxxdao.java

📁 以前做的一个j2ee的项目
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
    public String getM_mbbm() {
        return m_mbbm;
    }

    public String getM_swjg() {
        return m_swjg;
    }

    public String getM_wdsm() {
        return m_wdsm;
    }

    public Connection getM_conn() {
        return m_conn;
    }

    public void setM_czybm(String m_czybm) {
        this.m_czybm = m_czybm;
    }

    public void setM_mbbm(String m_mbbm) {
        this.m_mbbm = m_mbbm;
    }

    public void setM_swjg(String m_swjg) {
        this.m_swjg = m_swjg;
    }

    public void setM_wdsm(String m_wdsm) {
        this.m_wdsm = m_wdsm;
    }

    public void setM_conn(Connection m_conn) {
        this.m_conn = m_conn;
    }
    /*
    //取出数据后直接加工,取一条加工一条
        public Vector getYhsxxByList(int begin, int end, String t) throws Exception {
            Vector vector = new Vector();
            Connection conn = null;
            try {
                conn = JDBCLocator.getInstance().getJDBCConnection();
                PreparedStatement preStmt = conn.prepareStatement("");
                Statement stmt = conn.createStatement();
                String sql =
                        "SELECT A.NSRNBM, A.ZB_DM, A.ZBZ, A.LR_SJ,A.LRRY_DM, A.SJLY, A.HH " +
                        " FROM T_ZBGL_ZBSJ A, T_WDSC_ETL_LST B " + //T_ZBGL_ETL_LST B " +
                        " WHERE A.NSRNBM = B.NSRNBM " + //and rownum<30000
                        " ORDER BY B.NSRNBM, A.ZB_DM, A.HH ";
                //PreparedStatement preStmt = conn.prepareStatement();
                //从表t_wdsc_wd中删除选中数据
                //sql = " DELETE T_WDSC_WD WHERE NSRNBM LIKE '";

                sql =
                        "SELECT A.NSRNBM, A.ZB_DM, A.ZBZ, A.LR_SJ,A.LRRY_DM, A.SJLY, A.HH " +
                        " FROM (SELECT ROWNUM BROWNUM,NSRNBM FROM db_ssgly.T_WDSC_ETL_LST ORDER BY NSRNBM) B, db_ssgly.T_ZBGL_ZBSJ A " + //--_ZBGL_ETL_LST B
                        " WHERE B.NSRNBM = A.NSRNBM AND B.BROWNUM >= " +
                        String.valueOf(begin) + " AND B.BROWNUM <= " +
                        String.valueOf(end) +
                        " AND A.ZB_DM IS NOT NULL AND HH>0 " +
                        " ORDER BY B.NSRNBM, A.ZB_DM, A.HH ";

                System.out.println(sql);
                long t_s = Calendar.getInstance().getTimeInMillis();
                ResultSet rs = stmt.executeQuery(sql);
                long t_e = Calendar.getInstance().getTimeInMillis();
                System.out.println("取数耗时:"+String.valueOf(t_e - t_s));
                ////////////////////////////
                //数据库取数
                double yhsxxNsrnbm = 0, yhsxxHh = 0;//纳税人内部码,行号
                String yhsxxZbdm = "";//指标代码
                String yhsxxZbz = "";//指标值

                //临时变量
                Hashtable map = null;//存放纳税人 内部码 和 指标信息
                int hh = 0, iTemp = 0, iMsg = 0;//计数器
                double dNsrnbm = 0, oldNsrnbm = 0, dHh = 0;
                String sZb = "", sZbz = "", oldZb = "";//指标代码指标值
                Vector vZbMsg = null;//指标值存放
                BigDecimal bg = null;
                ////////////////////////////
                t_s = Calendar.getInstance().getTimeInMillis();

                long total = 0, t_ss = 0, t_ee = 0;

                while (rs.next()) {
                    t_ss = Calendar.getInstance().getTimeInMillis();
                    yhsxxNsrnbm = rs.getDouble("NSRNBM");
                    yhsxxZbdm = rs.getString("ZB_DM");
                    yhsxxZbz = rs.getString("ZBZ");
                    yhsxxHh = rs.getDouble("HH");

                    dNsrnbm = yhsxxNsrnbm;

                    sZb = yhsxxZbdm;
                    sZbz = yhsxxZbz;
                    sZbz = ((sZbz == null) ? "" : sZbz.trim());
                    if (dNsrnbm != oldNsrnbm) { //下一个纳税人一户式信息
                        if (map != null) {
                            map.put(oldZb, vZbMsg);
                            vector.add(map);
                        }
                        oldNsrnbm = dNsrnbm;
                        map = new Hashtable();
                        oldZb = sZb;
                        bg = new BigDecimal(dNsrnbm);
                        map.put(WDSCconstant.NSRNBM, bg.toString());

                        vZbMsg = new Vector();
                        dHh = yhsxxHh;
                        iTemp = new Double(dHh).intValue() - 1;
                        for (hh = 0; hh < iTemp; hh++) {
                            vZbMsg.add("&nbsp;");
                        }
                        vZbMsg.add(sZbz.equals("") ? "&nbsp;" : sZbz);
                    } else {
                        if (sZb.equals(oldZb)) { //同一个纳税人信息的同一个指标信息
                            dHh = yhsxxHh;
                            iTemp = new Double(dHh).intValue() - 1;
                            iMsg = vZbMsg.size();
                            for (hh = iMsg; hh < iTemp; hh++) {
                                vZbMsg.add("&nbsp;");
                            }
                            vZbMsg.add(sZbz.equals("") ? "&nbsp;" : sZbz);
                        } else { //同一个纳税人信息的不同指标信息
                            map.put(oldZb, vZbMsg);

                            vZbMsg = new Vector();
                            dHh = yhsxxHh;
                            iTemp = new Double(dHh).intValue() - 1;
                            for (hh = 0; hh < iTemp; hh++) {
                                vZbMsg.add("&nbsp;");
                            }
                            vZbMsg.add(sZbz.equals("") ? "&nbsp;" : sZbz);
                            oldZb = sZb;
                        }
                    }
                    t_ee = Calendar.getInstance().getTimeInMillis();
                    total += t_ee - t_ss;
                }
                //增加最后数据到v中
                if (map != null) {
                    map.put(sZb, vZbMsg);
                    vector.add(map);
                }
                t_e = Calendar.getInstance().getTimeInMillis();
                System.out.println("加工数据耗时:"+String.valueOf(t_e - t_s) + ", 其中:" + String.valueOf(total));


                rs.close();
                stmt.close();
            } catch (Exception e) {
                e.printStackTrace();
                throw new Exception("YCWDSC21013"); //获取纳税人指标信息(通过列表)失败e.getMessage());
            } finally {
                conn.close();
            }
            return vector;
    }*/

    //取出数据后直接加工,取一条加工一条
    public Vector getYhsxxByList_test(int begin, int end, String nyr) throws Exception {
        Vector vector = new Vector(), vThread = null;//new Vector();
        Connection conn = null;
        int part = 100, everyPart = 1, count = 0;
        String threadName[] = null;

        try {
            try {
                conn = JDBCLocator.getInstance().getJDBCConnection();
                if (conn == null) conn = m_conn;
            } catch (Exception e) {
                conn = m_conn;
            }
            PreparedStatement preStmt = null;
            String sql =
                    "SELECT A.NSRNBM, A.ZB_DM, A.ZBZ, A.LR_SJ,A.LRRY_DM, A.SJLY, A.HH " +
                    " FROM T_ZBGL_ZBSJ A, T_WDSC_ETL_LST B " + //T_ZBGL_ETL_LST B " +
                    " WHERE A.NSRNBM = B.NSRNBM " + //and rownum<30000
                    " ORDER BY B.NSRNBM, A.ZB_DM, A.HH ";
            if (WDSCconstant.boolBatchProcess) {
                try {
                    deleteSomeWd(conn, begin, end);
                    count = insertSomeWd(conn, begin, end, nyr);
                } catch (SQLException e) {
                    System.out.println("删除或插入数据失败!" + e.getMessage());
                    throw new SQLException(e.getMessage());
                }
            } else {
                if (WDSCconstant.boolMultiThread) {
                    sql = " SELECT count(*) FROM (SELECT ROWNUM BROWNUM,NSRNBM FROM db_ssgly.T_WDSC_ETL_LST ORDER BY NSRNBM) B " +
                          " WHERE B.BROWNUM >=? AND B.BROWNUM <=? ";
                    preStmt = conn.prepareStatement(sql);
                    preStmt.setInt(1, begin);
                    preStmt.setInt(2, end);
                    ResultSet rs = preStmt.executeQuery();
                    if (rs.next()) {
                        count = rs.getInt(1);
                    }
                    rs.close();
                    preStmt.close();
                }
            }


            if (WDSCconstant.boolMultiThread) {
                long thread_b = 0;
                //通过线程取数,等分成part(10)
                thread_b = Calendar.getInstance().getTimeInMillis();
                //everyPart = (end - begin + 1) / part;
                everyPart = (count) / part;
                if ((count % part) > 0) everyPart = everyPart + 1;
                //threadBeginEnd = new int[everyPart][2];
                threadName = new String[everyPart];
                WDSCyhsxxThread yhsxxThread = null; //new WDSCyhsxxThread[everyPart];
                vThread = new Vector(everyPart);
                for (int i = 0; i < everyPart; i++) {
                    threadName[i] = "getYhsxxThread" + String.valueOf(i);
                    yhsxxThread = new WDSCyhsxxThread();
                    yhsxxThread.setBegin(begin + part * i);
                    yhsxxThread.setM_conn(conn);
                    yhsxxThread.setEnd(begin + part * (i + 1) - 1);
                    yhsxxThread.setSTR_NSRNBM(WDSCconstant.NSRNBM);
                    yhsxxThread.setThreadName("getYhsxxThread" +
                                              String.valueOf(i));
                    yhsxxThread.start();
                    vThread.add(yhsxxThread);
                }
                WDSCmonitorThread monitorThread = new WDSCmonitorThread(vThread);
                vector = monitorThread.getVectorData();
                long thread_e = Calendar.getInstance().getTimeInMillis();
                System.out.println("get data by thread spend time:" +
                                   String.valueOf(thread_e - thread_b) +
                                   " vector size=" +
                                   String.valueOf(vector.size()));
                if (true) return vector;
            } else {

                //成批取数据
                sql =
                        //"SELECT A.NSRNBM, A.ZB_DM, A.ZBZ, " +/* A.LR_SJ,A.LRRY_DM, A.SJLY,*/ " A.HH " +
                        "SELECT A.NSRNBM, A.ZB_DM, A.ZBZ, A.LR_SJ,A.LRRY_DM, A.SJLY, A.HH " +
                        " FROM (SELECT ROWNUM BROWNUM,NSRNBM FROM db_ssgly.T_WDSC_ETL_LST ORDER BY NSRNBM) B, db_ssgly.T_ZBGL_ZBSJ A " + //--_ZBGL_ETL_LST B
                        " WHERE B.NSRNBM = A.NSRNBM AND B.BROWNUM >= ? " +
                        " AND B.BROWNUM <= ? " +
                        " AND A.ZB_DM IS NOT NULL AND HH>0 " +
                        " ORDER BY B.NSRNBM, A.ZB_DM, A.HH ";
                preStmt = conn.prepareStatement(sql);
                preStmt.setInt(1, begin);
                preStmt.setInt(2, end);
                System.out.println(sql);
                long t_s = Calendar.getInstance().getTimeInMillis();
                ResultSet rs = preStmt.executeQuery();
                long t_e = Calendar.getInstance().getTimeInMillis();
                System.out.println("取数耗时:" + String.valueOf(t_e - t_s));
                ////////////////////////////
                //数据库取数
                double yhsxxNsrnbm = 0, yhsxxHh = 0; //纳税人内部码,行号
                String yhsxxZbdm = ""; //指标代码
                String yhsxxZbz = ""; //指标值

                //临时变量
                Hashtable map = null; //存放纳税人 内部码 和 指标信息
                int hh = 0, iTemp = 0, iMsg = 0; //计数器
                double dNsrnbm = 0, oldNsrnbm = 0, dHh = 0;
                String sZb = "", sZbz = "", oldZb = ""; //指标代码指标值
                Vector vZbMsg = null; //指标值存放
                BigDecimal bg = null;
                ////////////////////////////
                t_s = Calendar.getInstance().getTimeInMillis();

                long total = 0, t_ss = 0, t_ee = 0;

                while (rs.next()) {
                    t_ss = Calendar.getInstance().getTimeInMillis();
                    yhsxxNsrnbm = rs.getDouble("NSRNBM");
                    yhsxxZbdm = rs.getString("ZB_DM");
                    yhsxxZbz = rs.getString("ZBZ");
                    yhsxxHh = rs.getDouble("HH");

                    dNsrnbm = yhsxxNsrnbm;

                    sZb = yhsxxZbdm;
                    sZbz = yhsxxZbz;
                    sZbz = ((sZbz == null) ? "" : sZbz.trim());
                    if (dNsrnbm != oldNsrnbm) { //下一个纳税人一户式信息
                        if (map != null) {
                            map.put(oldZb, vZbMsg);
                            vector.add(map);
                        }
                        oldNsrnbm = dNsrnbm;
                        map = new Hashtable();
                        oldZb = sZb;
                        bg = new BigDecimal(dNsrnbm);
                        map.put(WDSCconstant.NSRNBM, bg.toString());

                        vZbMsg = new Vector();
                        dHh = yhsxxHh;
                        iTemp = new Double(dHh).intValue() - 1;
                        for (hh = 0; hh < iTemp; hh++) {
                            vZbMsg.add("&nbsp;");
                        }
                        vZbMsg.add(sZbz.equals("") ? "&nbsp;" : sZbz);
                    } else {
                        if (sZb.equals(oldZb)) { //同一个纳税人信息的同一个指标信息
                            dHh = yhsxxHh;
                            iTemp = new Double(dHh).intValue() - 1;
                            iMsg = vZbMsg.size();
                            for (hh = iMsg; hh < iTemp; hh++) {
                                vZbMsg.add("&nbsp;");
                            }
                            vZbMsg.add(sZbz.equals("") ? "&nbsp;" : sZbz);
                        } else { //同一个纳税人信息的不同指标信息
                            map.put(oldZb, vZbMsg);

                            vZbMsg = new Vector();
                            dHh = yhsxxHh;
                            iTemp = new Double(dHh).intValue() - 1;
                            for (hh = 0; hh < iTemp; hh++) {
                                vZbMsg.add("&nbsp;");
                            }
                            vZbMsg.add(sZbz.equals("") ? "&nbsp;" : sZbz);
                            oldZb = sZb;
                        }
                    }
                    t_ee = Calendar.getInstance().getTimeInMillis();
                    total += t_ee - t_ss;
                }
                //增加最后数据到v中
                if (map != null) {
                    map.put(sZb, vZbMsg);
                    vector.add(map);
                }
                t_e = Calendar.getInstance().getTimeInMillis();
                System.out.println("加工数据耗时:" + String.valueOf(t_e - t_s) +
                                   ", 其中:" + String.valueOf(total));

                rs.close();
                preStmt.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
            throw new Exception("YCWDSC21013"); //获取纳税人指标信息(通过列表)失败e.getMessage());
        } finally {
            if (conn != null) conn.close();
        }
        return vector;
    }















}

⌨️ 快捷键说明

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