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

📄 changebusinessdaoimpl.java

📁 一套完整的工商12315的源程序jsp部分在12315里,后台JAVA部分在gs12315src里,没有打包数据库.
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
            conn = Common.getConnection();

        //    conn.setAutoCommit(false);
            stmt = conn.createStatement();

            //将外网01表中删除的记录拷贝到日志表
            sql = " insert into " + TableNameUtil.IN_SUB_INSDEL + "  select * from " + TableNameUtil.GSGSJOUT_SUB01 + " where field001='" + SN +
                "' and  field249='old' and field250='del'";

            Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql1" + sql);
            stmt.executeUpdate(sql);

            //将外网01中增加的记录拷贝到日志表
            //...<-2004-02-16 comment :gsgsjout_sub01也存放了提交文件等数据,提交文件不应该也倒入日志表
            /*
                 sql = " insert into " + TableNameUtil.IN_SUB_INSDEL + " select * from " + TableNameUtil.GSGSJOUT_SUB01 + " where field001='" + SN +
             "' and field249<>'old'";
             */
            //...2004-02-16->

            //...<-2004-02-16 add :
            sql = " insert into " + TableNameUtil.IN_SUB_INSDEL + " select * from " + TableNameUtil.GSGSJOUT_SUB01 + " where field001='" + SN +
                "' and field250 = 'add'";
            //...2004-02-16->

            Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql2" + sql);
            stmt.executeUpdate(sql);

            //...<-2004-02-16 comment :子表新增记录的field250字段已经提前在gsgsjout_sub01表添上了就不用在这里再添了
            /*
                 //更新日志记录--增加部分
                 sql = " update " + TableNameUtil.IN_SUB_INSDEL + " set field250='add' where field001='" + SN + "' and field249<>'old' and (field250<>'del' or field250 is null)";
                 Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql3" + sql);
                 stmt.executeUpdate(sql);
             */
            //...2004-02-16->

            //更新日志记录--删除部分
            sql = " update " + TableNameUtil.IN_SUB_INSDEL + " set field249='' where field001='" + SN +
                "' and field249='old' and (field250='del' or field250 is null)";
            Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql3" + sql);
            stmt.executeUpdate(sql);

            //更新日志子表标记、SN号
            /*sql="select distinct field002 from "+TableNameUtil.IN_SUB_INSDEL+" where field001='"+SN+"'";
             Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql4"+sql);
             rs=stmt.executeQuery(sql);
             while(rs.next()){
             SUB=rs.getString("field002");
             OLDSUB="sub02"+SUB.substring(5);
             sql=" update "+TableNameUtil.IN_SUB_INSDEL+" set field001='"+ OLDSN +"', field002='"+OLDSUB+"' where field00
                1='"+SN+"' and field002='"+SUB+"'";
             Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql5"+sql);
             stmt.executeUpdate(sql);
             }
             **/

            //在日志表中增加操作时间和操作员标记
            sql = " update " + TableNameUtil.IN_SUB_INSDEL + " set field248='" + currentDateTime + "',field249='" + operateUser + "' where field001='" +
                SN + "'";
            Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql22" + sql);
            stmt.executeUpdate(sql);

            //将外网子表的标记恢复(hgw:? )
            sql = "update " + TableNameUtil.GSGSJOUT_SUB01 + " set field249='' ,field250='' where field001='" + SN + "'";
            Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql6" + sql);
            stmt.executeUpdate(sql);

            ////下面的程序将in_sub_insdel.field004修改为 企业的内部序号 陈丹宇 2004-02-18 11:27
            //根据开业的事务号得到内部序号
            String innerCode = getEnterpriseInnerCode(OLDSN);
            //将field004修改为 企业的内部序号
            sql = "update " + TableNameUtil.IN_SUB_INSDEL + " set field004='" + innerCode + "' where field001='" + SN + "'";
            Debug.println("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]-----sql6" + sql);
            stmt.executeUpdate(sql);
            ////上面的程序将in_sub_insdel.field004修改为 企业的内部序号 陈丹宇 2004-02-18 11:27

    //        conn.commit();
        } catch(Exception e){
            throw new AppException("[ChangeBusinessDAOImpl-->>copyOutSubToLogDel]: Exception " +
                                   e.getMessage());
        } finally{
            try{
                this.closeResultSet(rs);
            } catch(Exception e){
            }
            try{
                this.closeStatement(stmt);
            } catch(Exception e){
            }
            try{
                this.closeConnection(conn);
            } catch(Exception e){
            }
        }

    }

    /**
     *方法名称:getEnterpriseInnerCode
     *功能描述:根据开业事务号取得该企业的内部序号
     *参数SN:开业的事务号
     *返回值:该企业的内部序号
     *创建人:陈丹宇
     *创建时间:2004-02-18 11:27
     */
    public String getEnterpriseInnerCode(String SN) throws Exception{

        Connection conn = null;
        Statement stmt = null;

        ResultSet rs = null;

        String sql = "";
        String str = "";

        try{
            conn = Common.getConnection();
        //    conn.setAutoCommit(false);
            stmt = conn.createStatement();

            sql = " select field003 from " + TableNameUtil.GSGSJIN_BASIS02 + " where field001='" + SN + "' and field002 like '02%'";

            Debug.println("[changeBusinessDAOImpl-->>getEnterpriseInnerCode]sql1---->>>>>>>>>>>>" + sql);

            rs = stmt.executeQuery(sql);

            if(rs.next()){
                str = rs.getString("field003");
            }
        } catch(Exception e){
            throw new AppException("[ChangeBusinessDAOImpl-->>getEnterpriseInnerCode]: Exception " +
                                   e.getMessage());
        }

        finally{
            try{
                this.closeResultSet(rs);
            } catch(Exception e){
            }
            try{
                this.closeStatement(stmt);
            } catch(Exception e){
            }
            try{
                this.closeConnection(conn);
            } catch(Exception e){
            }
        }

        return str;
    }

    /**
     *方法名称:delOutSub
     *功能描述:外网子表的删除操作
     *参数SN:事务号
     *参数SUB:子表名
     *参数DEL:删除记录号
     *返回值:无
     *创建人:冯瑞龙
     *创建时间:2003-10-22
     */
    public void delOutSub(String SN,String SUB,String[] DEL) throws Exception{

        Connection conn = null;
        Statement stmt = null;

        ResultSet rs = null;

        String sql1 = "";
        String sql2 = "";

        String str = "";

        try{

            conn = Common.getConnection();
         //   conn.setAutoCommit(false);
            stmt = conn.createStatement();

            for(int i = 0;i < DEL.length;i++){

                sql1 = " select field249 from " + TableNameUtil.GSGSJOUT_SUB01 + " where field001='" + SN + "' and field002='" + SUB + "' and field003='" +
                    DEL[i] + "'";

                Debug.println("[ChangeBusinessDAOImpl-->>delOutSub]sql1---->>>>>>>>>>>>" + sql1);

                rs = stmt.executeQuery(sql1);

                if(rs.next()){

                    str = rs.getString("field249");

                    //如果是原开业的子表信息,增加删除标记
                    if(str != null && str.trim().equals("old")){

                        sql2 = " update  " + TableNameUtil.GSGSJOUT_SUB01 + " set field250='del' where field001='" + SN + "' and field002='" + SUB +
                            "' and field003='" + DEL[i] + "'";

                    } else{

                        //如果是申请新增的子表信息,直接删除
                        sql2 = "  delete from " + TableNameUtil.GSGSJOUT_SUB01 + "  where field001='" + SN + "' and field002='" + SUB + "' and field003='" +
                            DEL[i] + "'";

                    }
                    //add (hgw 2004-03-12 11:39)(需要进一步处理)
                    //如果此次修改不是第一次,则需要删除out_change中field005 = 记录顺序号的数据
                    //如果核准时是直接复制gsgsjout_sub01中的数据到in_sub_insdel,则还应从
                    //jsjsin_sub02中复制记录 或 将gsgsjout_sub01中的那条记录恢复和内网一致
                    //注:页面必须保证记录号唯一,不能和新增加、删除的记录号混淆

                    Debug.println("[ChangeBusinessDAOImpl-->>delOutSub]sql2----str=" + str + ">>>>>>>>>>>>>>>>>>>>>>sql2=" + sql2);

                    stmt.executeUpdate(sql2);

                } else{
                    Debug.println("xxxxxxxxxxxxxxxxxxxx");

                }

            }
       //     conn.commit();

        } catch(Exception e){
            throw new AppException("[ChangeBusinessDAOImpl-->>delOutSub]: Exception " +
                                   e.getMessage());
        }

        finally{
            try{
                this.closeResultSet(rs);
            } catch(Exception e){
            }
            try{
                this.closeStatement(stmt);
            } catch(Exception e){
            }
            try{
                this.closeConnection(conn);
            } catch(Exception e){
            }
        }

    }

    /**
     *方法名称:copySubFromInToOut
     *功能描述:将子表的记录从sub02拷贝到sub01中。
     *参数SN:事务号
     *参数OLDSN:开业事务号
     *参数BID:业务号
     *参数SUB:子表名
     *返回值:无
     *创建人:冯瑞龙
     *创建时间:2003-10-20
     */
    public void copySubFromInToOut(String SN,String OLDSN,ArrayList tableList) throws Exception{

        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;

        String sql = "";

        //外网sub01中的子表名
        String SUB = "";

        //内网sub02中的子表名
        String OLDSUB = "";

        try{
            //得到Connection对象
            conn = Common.getConnection();
        //    conn.setAutoCommit(false);
            stmt = conn.createStatement();

            //对多个子表情况进行联合操作
            for(int i = 0;i < tableList.size();i++){

                SUB = (String) tableList.get(i);

                if(SUB.indexOf("sub01") == -1){
                    continue;
                }

                sql = "select field001 from " + TableNameUtil.GSGSJOUT_SUB01 + "  where field001='" + SN + "' and field002='" + SUB + "'";

                rs = stmt.executeQuery(sql);

                Debug.println("[ChangeBusinessDAOImpl---->>>>copySubFromInToOut]sql:" + sql);

                //外网子表中如果没有数据,从内网的子表中导入
                if(!rs.next()){

                    OLDSUB = "sub02" + SUB.substring(SUB.indexOf("sub01") + 5);

                    //将内网的子表的记录拷贝到外网的子表中。
                    sql = "insert into " + TableNameUtil.GSGSJOUT_SUB01 + " select * from " + TableNameUtil.GSGSJIN_SUB02 + "  where field001='" + OLDSN +
                        "' and field002='" + OLDSUB + "' order by field003";

                    Debug.println("[ChangeBusinessDAOImpl---->>>>copySubFromInToOut]sql:" + sql);

                    stmt.executeUpdate(sql);

                    //将外网的记录的SN和子表名更新为新的SN和外网子表名
                    sql = "update " + TableNameUtil.GSGSJOUT_SUB01 + " set field001='" + SN + "' ,field002='" + SUB + "',field249='old'  where field001='" +
                        OLDSN + "' and field002='" + OLDSUB + "'";

                    Debug.println("[ChangeBusinessDAOImpl---->>>>copySubFromInToOut]sql:" + sql);

                    stmt.executeUpdate(sql);

                }
            }

        //    conn.commit();
        } catch(Exception e){
            throw new AppException("[ChangeBusinessDAOImpl-->>copySubFromInToOut]: Exception " +
                                   e.getMessage());

        } finally{
            try{
                this.closeResultSet(rs);
            } catch(Exception e){
            }
            try{
                this.closeStatement(stmt);
            } catch(Exception e){
            }
            try{
                this.closeConnection(conn);
            } catch(Exception e){
            }
        }

    }

    /**
     *方法名称:updateSubChangeInfo
     *功能描述:更新子表变化的描述信息。
     *参数SN:事务号
     *返回值:无
     *创建人:冯瑞龙
     *创建时间:2003-10-23
     */
    public void updateSubChangeInfo(String SN,String fieldName,String fieldValue) throws Exception{

        Connection conn = null;
        Statement stmt = null;

        String sql = "";

        try{

            //得到Connection对象
            conn = Common.getConnection();

⌨️ 快捷键说明

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