亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? stockmanagementdatabean.java

?? java進(jìn)銷存信息管理系統(tǒng),實現(xiàn)了倉庫產(chǎn)品價格人員報表等功能
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
        }else{
          insertSql += "?" + ",";
        }
      }
      //創(chuàng)建帶參數(shù)的SQL語句執(zhí)行類
      PreparedStatement pstmt = conn.prepareStatement(insertSql);
      //創(chuàng)建日期轉(zhuǎn)換類
      java.text.DateFormat dateLongFormat = java.text.DateFormat.getDateTimeInstance();
      java.text.DateFormat dateShortFormat = java.text.DateFormat.getDateInstance();
      //聲明java.sql類包的時間變量
      Timestamp timeStamp = null;
      //將數(shù)組寫入數(shù)據(jù)表
      for(int row = 0; row < data.length; row++){
        for (int col = 0; col < colCount; col++) {
          //設(shè)置字符串參數(shù)
          if (resultSetMetaData.getColumnTypeName(col + 1).equals("varchar") |
              resultSetMetaData.getColumnTypeName(col + 1).equals("longvarchar")) {
            pstmt.setString(col+1, data[row][col]);
          }
          //設(shè)置bit類型參數(shù)
          else if(resultSetMetaData.getColumnTypeName(col + 1).equals("bit")){
            pstmt.setInt(col+1, Integer.parseInt(data[row][col]));
          }
          //設(shè)置int類型參數(shù)
          else if(resultSetMetaData.getColumnTypeName(col + 1).equals("int")){
            pstmt.setInt(col+1, Integer.parseInt(data[row][col]));
          }
          //設(shè)置float類型參數(shù)
          else if(resultSetMetaData.getColumnTypeName(col + 1).equals("float") |
                  resultSetMetaData.getColumnTypeName(col + 1).equals("decimal")){
            pstmt.setDouble(col+1, Double.parseDouble(data[row][col]));
          }
          //設(shè)置timestamp類型參數(shù)
          else if(resultSetMetaData.getColumnTypeName(col + 1).equals("timestamp")){
            if(data[row][col].equals("null")){
              timeStamp = null;
            }else if(data[row][col].length() > 10){
              timeStamp = new Timestamp(dateLongFormat.parse(data[row][col]).getTime());
            }else{
              timeStamp = new Timestamp(dateShortFormat.parse(data[row][col]).getTime());
            }
            pstmt.setTimestamp(col+1, timeStamp);
          }
        }
        //執(zhí)行插入操作
        pstmt.execute();
      }
      //提交事條
      conn.commit();
      result = 1;
    }catch(Exception ex){
      try{
        //撤消事務(wù)
        conn.rollback();
      }catch(Exception ex1){
        ex1.printStackTrace();
      }
      data = new String[0][0];
      ex.printStackTrace();
    }
    //清空數(shù)據(jù)庫聯(lián)接
    cleanup(conn);
    return result;
  }
  //取得賬套名字的方法
  public String[] getLedgerNames() {
    String[] ledgerNames = new String[0];
    Vector vector = new Vector();
    String[] tableNames = getTableNames();
    for(int i = 0; i < tableNames.length; i++){
      if(tableNames[i].indexOf("stockLedger") > -1){
        if(tableNames[i].length() > 11){
          //取得數(shù)據(jù)表的日期字符串
          vector.addElement(tableNames[i].substring(11, tableNames[i].length()));
        }
      }
    }
    //將vector集合的數(shù)據(jù)放入數(shù)組
    ledgerNames = new String[vector.size()];
    for(int i = 0; i < vector.size(); i++){
      ledgerNames[i] = (String)vector.get(i);
    }
    return ledgerNames;
  }
  //創(chuàng)建8個空賬套的方法
  private void createEmptyLedger(Statement stmt, String ledgerDate) throws Exception {
    //創(chuàng)建SQL語句數(shù)組
    String[] createSqls = new String[8];
    createSqls[0] = "CREATE TABLE accountEntryLedger" + ledgerDate
      + " (serialId int NOT NULL PRIMARY KEY,"
      + "linkId nvarchar(20) NOT NULL ,"
      + "filler nvarchar(50) NOT NULL ,"
      + "auditUser nvarchar(50) NOT NULL ,"
      + "fillDate datetime NOT NULL ,"
      + "auditDate datetime NULL ,"
      + "onProcess int NOT NULL ,"
      + "remark ntext NOT NULL)";
    createSqls[1] = "CREATE TABLE accountEntrySubLedger" + ledgerDate
      + " (serialId int NOT NULL PRIMARY KEY,"
      + "linkSerialId int NOT NULL ,"
      + "debitCredit int NOT NULL ,"
      + "accountName nvarchar(100) NOT NULL,"
      + "amount numeric(18, 2) NOT NULL)";
    createSqls[2] = "CREATE TABLE cashLedger" + ledgerDate
      + " (serialId int NOT NULL PRIMARY KEY,"
      + "linkId nvarchar(20) NOT NULL ,"
      + "debitCredit int NOT NULL ,"
      + "filler nvarchar(50) NOT NULL ,"
      + "amount numeric(18, 2) NOT NULL ,"
      + "fillDate datetime NOT NULL)";
    createSqls[3] = "CREATE TABLE currentAccountLedger" + ledgerDate
      + " (currentAccountId nvarchar(20) NOT NULL PRIMARY KEY,"
      + "linkId nvarchar(20) NOT NULL ,"
      + "documentType int NOT NULL ,"
      + "amount numeric(18, 2) NOT NULL ,"
      + "receiverName nvarchar (50)  NOT NULL ,"
      + "documentFiller nvarchar (50)  NOT NULL ,"
      + "cashUser nvarchar (50)  NOT NULL ,"
      + "fillDate datetime NOT NULL ,"
      + "payDate datetime NULL ,"
      + "onProcess int NOT NULL,"
      + "remark ntext  NOT NULL)";
    createSqls[4] = "CREATE TABLE saleLedger" + ledgerDate
      + " (saleId nvarchar (20) NOT NULL PRIMARY KEY,"
      + "saleType int NOT NULL ,"
      + "customerName nvarchar(50) NOT NULL ,"
      + "counterUser nvarchar(50) NOT NULL ,"
      + "creditUser nvarchar(50) NOT NULL ,"
      + "cashUser nvarchar(50) NOT NULL ,"
      + "address nvarchar(100) NOT NULL ,"
      + "fillerDate datetime NOT NULL ,"
      + "deliveryDate datetime NULL ,"
      + "onProcess int NOT NULL ,"
      + "remark ntext  NOT NULL)";
    createSqls[5] = "CREATE TABLE saleSubLedger" + ledgerDate
      + " (serialId int NOT NULL PRIMARY KEY,"
      + "saleId nvarchar(20) NOT NULL ,"
      + "goodsBarCode nvarchar(20) NOT NULL ,"
      + "actualPrice numeric(18, 2) NOT NULL ,"
      + "quantity int NOT NULL)";
    createSqls[6] = "CREATE TABLE stockLedger" + ledgerDate
      + " (orderId nvarchar(20) NOT NULL PRIMARY KEY,"
      + "orderType int NOT NULL ,"
      + "supplierName nvarchar(50) NOT NULL ,"
      + "submitUser nvarchar(50) NOT NULL ,"
      + "commitUser nvarchar(50) NOT NULL ,"
      + "checkUser nvarchar(50) NOT NULL ,"
      + "cashUser nvarchar(50) NOT NULL ,"
      + "address nvarchar(100) NOT NULL ,"
      + "warehouse nvarchar(20) NOT NULL ,"
      + "orderDate datetime NULL ,"
      + "stockDate datetime NULL ,"
      + "onProcess int NOT NULL ,"
      + "remark ntext  NOT NULL)";
    createSqls[7] = "CREATE TABLE stockSubLedger" + ledgerDate
      + " (serialId int NOT NULL PRIMARY KEY,"
      + "orderId nvarchar(20) NOT NULL ,"
      + "goodsBarCode nvarchar(20) NOT NULL ,"
      + "costPrice numeric(18, 2) NOT NULL ,"
      + "quantity int NOT NULL ,"
      + "usefulLife datetime NOT NULL)";
    //創(chuàng)建8個賬套數(shù)據(jù)表
    for(int i = 0; i < createSqls.length; i++){
      stmt.executeUpdate(createSqls[i]);
    }
  }
  //創(chuàng)建賬套的方法
  public int createLedger(String ledgerDate) {
    int result = 0;
    //取得數(shù)據(jù)庫聯(lián)接
    Connection conn = getConnection();
    try{
      //取得賬套數(shù)組
      String[] ledgerNames = getLedgerNames();
      //開始事條
      conn.setAutoCommit(false);
      //創(chuàng)建不帶參數(shù)的SQL語句執(zhí)行類
      Statement stmt = conn.createStatement();
      //如果數(shù)據(jù)庫沒有賬套,直接創(chuàng)建8個空賬套數(shù)據(jù)表便可
      if (ledgerNames.length == 0) {
        //創(chuàng)建8個空賬套
        createEmptyLedger(stmt, ledgerDate);
        conn.commit();
        return 1;
      }
      //為字符串?dāng)?shù)據(jù)排序
      Arrays.sort(ledgerNames);
      //取得上一個時間字符串
      String lastLedgerDate = ledgerNames[ledgerNames.length - 1];
      //如果新日期不大于舊日期,不能進(jìn)行創(chuàng)建操作
      if (ledgerDate.compareTo(lastLedgerDate) <= 0) {
        return 0;
      }
      //創(chuàng)建8個空賬套
      createEmptyLedger(stmt, ledgerDate);
/*取得stockLedger數(shù)據(jù)表和stockSubLedger數(shù)據(jù)表的上期數(shù)據(jù)*/
      String sql = "select distinct(a.warehouse) "
              + "from stockLedger" + lastLedgerDate
              + " as a , stockSubLedger" + lastLedgerDate
              + " as b where a.orderId = b.orderId and a.onProcess = 2";
     //創(chuàng)建取得stockLedger數(shù)據(jù)表的倉庫的SQL語句
      ResultSet rs = stmt.executeQuery(sql);
      //創(chuàng)建倉庫集合
      Vector warehouseVector = new Vector();
      String tempWarehouse;
      while(rs.next()){
        tempWarehouse = rs.getString(1).trim();
        if(tempWarehouse.length() > 0){
          warehouseVector.addElement(tempWarehouse);
        }
      }
      //創(chuàng)建上期庫存單據(jù)數(shù)組
      String[] orderIds = new String[warehouseVector.size()];
      for(int i = 0; i < orderIds.length; i++){
        orderIds[i] = "上" + lastLedgerDate + dataMethod.changeSerial(i + 1);
      }
      //創(chuàng)建插入的SQL語句
      String insertSql = "insert into stockLedger" + ledgerDate +
          " values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
      //創(chuàng)建帶參數(shù)的插入SQL語句執(zhí)行類
      PreparedStatement insertPstmt = conn.prepareStatement(insertSql);
      //為庫存賬套數(shù)據(jù)表加入上期數(shù)據(jù)記錄
      for(int i = 0; i < orderIds.length; i++){
        insertPstmt.setString(1, orderIds[i]);
        insertPstmt.setInt(2, 8);
        insertPstmt.setString(3, "");
        insertPstmt.setString(4, "");
        insertPstmt.setString(5, "");
        insertPstmt.setString(6, "");
        insertPstmt.setString(7, "");
        insertPstmt.setString(8, "");
        insertPstmt.setString(9, (String)warehouseVector.get(i));
        insertPstmt.setTimestamp(10, null);
        insertPstmt.setTimestamp(11, null);
        insertPstmt.setInt(12, 2);
        insertPstmt.setString(13, "");
        insertPstmt.executeUpdate();
      }
      //創(chuàng)建取得stockLedger數(shù)據(jù)表的不同倉庫的產(chǎn)品總數(shù)的SQL語句
      sql = "select b.goodsBarCode, b.costprice, sum(b.quantity) as quantity, "
          + " b.usefullife from stockLedger" + lastLedgerDate
          + " as a , stockSubLedger" + lastLedgerDate + " as b "
          + "where a.orderId = b.orderId and a.onProcess = 2 and warehouse = ? "
          + "group by goodsBarCode, b.costprice, b.usefulLife "
          + "order by b.goodsBarCode, b.usefullife";
      //創(chuàng)建插入stockSubLedger數(shù)據(jù)表的SQL語句
      insertSql = "insert into stockSubLedger" + ledgerDate + " values(?, ?, ?, ?, ?, ?)";
      //創(chuàng)建帶參數(shù)的選擇SQL語句執(zhí)行類
      PreparedStatement selectPstmt = conn.prepareStatement(sql);
      insertPstmt = conn.prepareStatement(insertSql);
      //創(chuàng)建stockSubLedger數(shù)據(jù)表的序號
      int serialId = 0;
      for(int i = 0; i < warehouseVector.size(); i++){
        //設(shè)置SQL語句的倉庫變量
        selectPstmt.setString(1, (String)warehouseVector.get(i));
        //取得倉庫的產(chǎn)品數(shù)據(jù)
        rs = selectPstmt.executeQuery();
        while(rs.next()){
          serialId++;
          insertPstmt.setInt(1, serialId);
          insertPstmt.setString(2, orderIds[i]);
          insertPstmt.setString(3, rs.getString("goodsBarCode"));
          insertPstmt.setDouble(4, rs.getDouble("costPrice"));
          insertPstmt.setInt(5, rs.getInt("quantity"));
          insertPstmt.setTimestamp(6, rs.getTimestamp("usefulLife"));
          insertPstmt.executeUpdate();
        }
      }
      //創(chuàng)建取得上期stockLedger數(shù)據(jù)表未完成單據(jù)的記錄
      sql = "select * from stockLedger" + lastLedgerDate + " where onProcess = 0";
      rs = stmt.executeQuery(sql);
      //創(chuàng)建插入的SQL語句
      insertSql = "insert into stockLedger" + ledgerDate +
          " values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
      insertPstmt = conn.prepareStatement(insertSql);
      //創(chuàng)建單據(jù)標(biāo)識集合類
      Vector orderIdVector = new Vector();
      String tempOrderId = "";
      while(rs.next()){
        tempOrderId = rs.getString("orderId");
        orderIdVector.addElement(tempOrderId);
        insertPstmt.setString(1, tempOrderId);
        insertPstmt.setInt(2, rs.getInt("orderType"));
        insertPstmt.setString(3, rs.getString("supplierName"));
        insertPstmt.setString(4, rs.getString("submitUser"));
        insertPstmt.setString(5, rs.getString("commitUser"));
        insertPstmt.setString(6, rs.getString("checkUser"));
        insertPstmt.setString(7, rs.getString("cashUser"));
        insertPstmt.setString(8, rs.getString("address"));
        insertPstmt.setString(9, rs.getString("warehouse"));
        insertPstmt.setTimestamp(10, rs.getTimestamp("orderDate"));
        insertPstmt.setTimestamp(11, rs.getTimestamp("stockDate"));
        insertPstmt.setInt(12, rs.getInt("onProcess"));
        insertPstmt.setString(13, rs.getString("remark"));
        insertPstmt.executeUpdate();
      }
      //創(chuàng)建取得上期stockSubLedger數(shù)據(jù)表未完成單據(jù)的記錄
      sql = "select * from stockSubLedger" + lastLedgerDate + " where orderId = ?";
      //創(chuàng)建插入stockSubLedger數(shù)據(jù)表的SQL語句
      insertSql = "insert into stockSubLedger" + ledgerDate + " values(?, ?, ?, ?, ?, ?)";
      selectPstmt = conn.prepareStatement(sql);
      insertPstmt = conn.prepareStatement(insertSql);
      for(int i = 0; i < orderIdVector.size(); i++){
        tempOrderId = (String)orderIdVector.get(i);
        //設(shè)置SQL語句的單據(jù)變量
        selectPstmt.setString(1, tempOrderId);
        //根據(jù)單據(jù)標(biāo)識取得產(chǎn)品數(shù)據(jù)
        rs = selectPstmt.executeQuery();
        while(rs.next()){
          serialId++;
          insertPstmt.setInt(1, serialId);
          insertPstmt.setString(2, tempOrderId);
          insertPstmt.setString(3, rs.getString("goodsBarCode"));
          insertPstmt.setDouble(4, rs.getDouble("costPrice"));
          insertPstmt.setInt(5, rs.getInt("quantity"));
          insertPstmt.setTimestamp(6, rs.getTimestamp("usefulLife"));
          insertPstmt.executeUpdate();
        }
      }
/*取得saleLedger數(shù)據(jù)表和saleSubLedger數(shù)據(jù)表的上期數(shù)據(jù)*/
      //創(chuàng)建取得上期saleLedger數(shù)據(jù)表未完成單據(jù)的記錄
      sql = "select * from saleLedger" + lastLedgerDate + " where onProcess = 0";
      rs = stmt.executeQuery(sql);
      //創(chuàng)建插入的SQL語句
      insertSql = "insert into saleLedger" + ledgerDate +
          " values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
      insertPstmt = conn.prepareStatement(insertSql);
      //創(chuàng)建單據(jù)標(biāo)識集合類
      Vector saleIdVector = new Vector();
      String tempSaleId = "";
      while(rs.next()){
        tempSaleId = rs.getString("saleId");
        saleIdVector.addElement(tempSaleId);
        insertPstmt.setString(1, tempSaleId);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费视频网站在线观看| 欧美日韩国产成人在线免费| 捆绑紧缚一区二区三区视频| 激情久久五月天| 成av人片一区二区| 欧美老女人在线| 国产午夜精品一区二区三区视频| 综合av第一页| 亚洲18影院在线观看| 精品一区二区在线看| 99久久久精品| 日韩午夜在线观看视频| 亚洲国产激情av| 亚洲第一福利视频在线| 国产美女久久久久| 在线观看区一区二| 久久精品亚洲一区二区三区浴池| 一区二区三区中文字幕在线观看| 日本在线观看不卡视频| 久久99国内精品| 91女人视频在线观看| 欧美视频在线一区| 久久久精品免费观看| 亚洲日本在线视频观看| 久草中文综合在线| 97se亚洲国产综合在线| 久久久久国产精品免费免费搜索| 免费在线观看视频一区| 日韩一区二区三区四区| 日本午夜精品一区二区三区电影| 欧美日韩美少妇| 亚洲午夜精品17c| 日本高清免费不卡视频| 洋洋成人永久网站入口| 日本韩国欧美国产| 亚洲国产一区二区在线播放| 欧美在线观看一区| 亚洲444eee在线观看| 欧美四级电影网| 美女视频黄久久| 欧美成人aa大片| 久久99国产精品久久99| 日韩精品一区二| 激情综合网激情| 欧美极品少妇xxxxⅹ高跟鞋 | 91九色最新地址| 亚洲精品视频一区| 91一区一区三区| 亚洲综合另类小说| 9191精品国产综合久久久久久| 午夜精品久久久久久久蜜桃app | 555夜色666亚洲国产免| 蜜桃视频在线观看一区二区| 欧美大片拔萝卜| 成人免费黄色在线| 亚洲免费av在线| 欧美军同video69gay| 久久精品国产在热久久| 亚洲国产成人一区二区三区| 色综合色狠狠天天综合色| 亚洲bt欧美bt精品777| 欧美大黄免费观看| 成人午夜碰碰视频| 亚洲综合色网站| 欧美一区二区女人| 国产不卡高清在线观看视频| 一区二区三区中文免费| 日韩免费高清电影| 91麻豆国产在线观看| 日韩精品免费视频人成| 久久久不卡网国产精品一区| 91美女福利视频| 久久精品国产77777蜜臀| 国产日韩精品一区二区三区| 欧美综合色免费| 国产麻豆成人精品| 亚洲尤物在线视频观看| 亚洲精品一区二区三区影院| 色哟哟日韩精品| 久久99深爱久久99精品| 亚洲男人的天堂av| 欧美成人福利视频| 日本高清不卡aⅴ免费网站| 久久草av在线| 亚洲图片欧美一区| 国产精品区一区二区三| 日韩一区二区三区电影在线观看| 91碰在线视频| 国产在线日韩欧美| 亚洲午夜激情av| 中文字幕av一区二区三区免费看 | 国产日韩成人精品| 91精品婷婷国产综合久久性色| 国产精品18久久久久久久久| 亚洲高清在线视频| 国产精品久久久久久久久久久免费看 | 亚洲欧美激情在线| 久久亚洲捆绑美女| 制服.丝袜.亚洲.另类.中文| 99免费精品视频| 国产成人精品午夜视频免费| 日韩成人免费电影| 亚洲成人黄色小说| 亚洲黄色av一区| 中文字幕一区二区三| 欧美不卡视频一区| 制服丝袜一区二区三区| 日本乱码高清不卡字幕| av中文一区二区三区| 国产一区二区免费视频| 秋霞午夜鲁丝一区二区老狼| 亚洲高清中文字幕| 亚洲国产成人av好男人在线观看| 亚洲欧美偷拍三级| 日韩理论片一区二区| 国产精品高潮呻吟| 国产欧美精品一区二区色综合朱莉 | 亚洲综合视频网| 亚洲欧美经典视频| 亚洲精品五月天| 亚洲最色的网站| 亚洲午夜久久久| 五月天久久比比资源色| 午夜天堂影视香蕉久久| 日产欧产美韩系列久久99| 婷婷久久综合九色综合伊人色| 亚洲大片免费看| 日本欧美在线观看| 麻豆精品国产91久久久久久| 久久国产精品99精品国产| 免费亚洲电影在线| 国产在线播精品第三| 国产精品99久久久久久宅男| 成人精品国产一区二区4080| 成人黄色777网| 91麻豆福利精品推荐| 色综合久久中文综合久久牛| 91成人在线观看喷潮| 7777精品伊人久久久大香线蕉完整版 | 91麻豆国产精品久久| 欧美专区日韩专区| 欧美一区二区三区在| 久久久噜噜噜久噜久久综合| 日本一二三四高清不卡| 亚洲人一二三区| 天天综合网 天天综合色| 美腿丝袜在线亚洲一区| 国产夫妻精品视频| 91久久国产最好的精华液| 欧美一区二区成人6969| 久久精品综合网| 亚洲精品国产一区二区精华液 | 国产蜜臀97一区二区三区| 综合久久久久久| 日本系列欧美系列| 成人网在线免费视频| 欧美日韩国产系列| 国产亚洲综合色| 亚洲一区二区三区中文字幕| 久久精工是国产品牌吗| 成人app下载| 欧美精品vⅰdeose4hd| 国产视频在线观看一区二区三区| 亚洲人吸女人奶水| 老色鬼精品视频在线观看播放| 成人网在线免费视频| 欧美精品一卡两卡| 国产精品丝袜在线| 日韩av在线发布| 97se狠狠狠综合亚洲狠狠| 日韩免费视频一区| 一区二区三区日韩欧美| 国产在线一区观看| 欧美丰满少妇xxxxx高潮对白| 国产精品网站在线观看| 偷拍日韩校园综合在线| a4yy欧美一区二区三区| 日韩欧美国产三级| 亚洲影视在线观看| 成人精品高清在线| 欧美va在线播放| 亚洲一区影音先锋| 成人污视频在线观看| 精品国产乱码久久久久久夜甘婷婷 | 亚洲美女在线一区| 国产乱码一区二区三区| 欧美久久婷婷综合色| 一区二区三区资源| 丰满少妇在线播放bd日韩电影| 欧美电影影音先锋| 夜夜夜精品看看| caoporen国产精品视频| 久久久精品国产免费观看同学| 日韩va欧美va亚洲va久久| 欧日韩精品视频| 亚洲男人天堂av| 99久久精品国产一区| 日本一区二区三区在线观看| 久久蜜桃一区二区| 色老头久久综合|