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

📄 stockmanagementdata.java

📁 一个使用java 写的进销存代码 使用了ejb 等技术 是学习j2ee的好
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
      //更新商品分拆调出单数组,9表示调出单
      orderOutLedger[0] = stockLedger[2];
      orderOutLedger[1] = "9";
      orderOutLedger[2] = stockLedger[0];     //调出单的关联标识
      orderOutLedger[4] = stockLedger[8];     //调入仓库
      orderOutLedger[8] = stockLedger[4];     //调出仓库
      //更新商品分拆调出单
      stockManagementData.updateStockLedgerAndSub(ledgerDate, orderOutLedger, stockSubLedgerOut);
      result = 1;
    }catch(Exception ex){
      ex.printStackTrace();
    }
    return result;
  }
  //撤消或者恢复商品分拆或者组合单的方法
  public int cancelOrRestoreRearrangeOrder(String ledgerDate, String inOrderId,
                                           String outOrderId, String userName,
                                           int onProcess, String remark) {
    int result = 0;
    try{
      if(onProcess == 2){
        //恢复调入单
        stockManagementData.signStockLedgerAndSubForFinish(ledgerDate,
            "submitUser", userName, inOrderId, 2, remark);
        //恢复调出单
        stockManagementData.signStockLedgerAndSubForFinish(ledgerDate,
            "submitUser", userName, outOrderId, 2, remark);
      }else{
        //取消调入单
        stockManagementData.cancelStockLedgerAndSub(ledgerDate, inOrderId, remark);
        //取消调出单
        stockManagementData.cancelStockLedgerAndSub(ledgerDate, outOrderId, remark);
      }
      result = 1;
    }catch(Exception ex){
      ex.printStackTrace();
    }
    return result;
  }
  //创建商品组合单的方法
  public int createCombineOrder(String ledgerDate, String[] stockLedger,
                                  String[][] stockSubLedgerOut, String[][] stockSubLedgerIn){
    int result = 0;
    try{
      //创建商品组合调入单数组
     String[] orderInLedger = new String[stockLedger.length];
     System.arraycopy(stockLedger, 0, orderInLedger, 0, stockLedger.length);
      //创建商品组合调入单
      stockManagementData.createStockLedgerAndSub(ledgerDate,
                                                  orderInLedger, stockSubLedgerIn);
      //根据商品组合管理用户名字取得商品组合调入单,12表示商品组合调入单
      String[][] orderInLedgers = stockManagementData.
          getStockLedgerByStringField(ledgerDate, "submitUser", stockLedger[3], 12);
      //取得商品组合调入单标识,最后一条记录便是新创建的商品组合调入单
      String orderInId = orderInLedgers[orderInLedgers.length -1][0];
      //创建商品组合调出单数组
      String[] orderOutLedger = new String[stockLedger.length];
      System.arraycopy(stockLedger, 0, orderOutLedger, 0, stockLedger.length);
      //更新商品组合调出单数组,将商品调入单标识放在供货商字段,11表示商品组合调出单
      orderOutLedger[2] = orderInId;
      orderOutLedger[1] = "11";
      orderOutLedger[4] = stockLedger[8];         //调入仓库
      orderOutLedger[8] = stockLedger[4];         //调出仓库
      //创建商品组合调出单
      stockManagementData.createStockLedgerAndSub(ledgerDate,
                                                  orderOutLedger, stockSubLedgerOut);
      //根据商品组合管理用户名字取得商品组合调出单
      String[][] orderOutLedgers = stockManagementData.
          getStockLedgerByStringField(ledgerDate, "submitUser", orderOutLedger[3], 11);
      //取得商品组合调出单标识,最后一条记录便是新创建的商品组合调出单
      String orderOutId = orderOutLedgers[orderOutLedgers.length -1][0];
      //更新商品组合调入单数组的标识和关联标识
      orderInLedger[0] = orderInId;
      orderInLedger[2] = orderOutId;
      //根据标识重新取得商品组合调入单明细数组
      String[][] orderInSubLedger = stockManagementData.getStockSubLedgerByOrderId(
          ledgerDate, orderInLedger[0]);
      //更新商品组合调入单,将调出单的关联标识写入调入单
      stockManagementData.updateStockLedgerAndSub(ledgerDate,
                                                  orderInLedger, orderInSubLedger);
      result = 1;
    }catch(Exception ex){
      ex.printStackTrace();
    }
    return result;
  }
  //更新商品组合单的方法
  public int updateCombineOrder(String ledgerDate, String[] stockLedger,
                                  String[][] stockSubLedgerOut, String[][] stockSubLedgerIn){
    int result = 0;
    try{
      //更新商品组合调入单
      stockManagementData.updateStockLedgerAndSub(ledgerDate,
                                                  stockLedger, stockSubLedgerIn);
      //创建商品组合调出单数组
      String[] orderOutLedger = new String[stockLedger.length];
      System.arraycopy(stockLedger, 0, orderOutLedger, 0, stockLedger.length);
      //更新商品组合调出单数组,11表示调出单
      orderOutLedger[0] = stockLedger[2];
      orderOutLedger[1] = "11";
      orderOutLedger[2] = stockLedger[0];     //调出单的关联标识
      orderOutLedger[4] = stockLedger[8];     //调入仓库
      orderOutLedger[8] = stockLedger[4];     //调出仓库
      //更新商品组合调出单
      stockManagementData.updateStockLedgerAndSub(ledgerDate,
                                                  orderOutLedger, stockSubLedgerOut);
      result = 1;
    }catch(Exception ex){
      ex.printStackTrace();
    }
    return result;
  }
  //根据仓库名字取得盘点数据的方法
  public String[][] getStocktakeQuantityByWarehouse(String ledgerDate, String warehouse, int onProcess) {
    String[][] data = new String[0][2];
    try {
      data = stockManagementData.getStocktakeQuantityByWarehouse(ledgerDate,
          warehouse, onProcess);
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
    return data;
  }
  //根据仓库名字汇总显示商品数量和金额的方法
  public String[][] getStockByWarehouse(String ledgerDate, String warehouse, int onProcess) {
    String[][] data = new String[0][5];
    try {
      data = stockManagementData.getStockByWarehouse(ledgerDate, warehouse, onProcess);
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
    return data;
  }
  //根据商品条形码汇总显示商品在各个仓库的数量和金额的方法
  public String[][] getStockByGoodsBarcode(String ledgerDate, String goodsBarcode, int onProcess) {
    String[][] data = new String[0][5];
    try {
      data = stockManagementData.getStockByGoodsBarcode(ledgerDate, goodsBarcode, onProcess);
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
    return data;
  }
  //查询过期商品的方法
  public String[][] getStockByUsefulLife(String ledgerDate, String usefulLife, int onProcess) {
    String[][] data = new String[0][6];
    try {
      data = stockManagementData.getStockByUsefulLife(ledgerDate, usefulLife, onProcess);
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
    return data;
  }
  //创建销售账套数据表和销售账套明细数据表记录的方法
  public int createSaleLedgerAndSub(String ledgerDate, String[] saleLedger,
                                    String[][] saleSubLedger) {
    int result = 0;
    try{
      result = stockManagementData.createSaleLedgerAndSub(ledgerDate,
          saleLedger, saleSubLedger);
    }catch(Exception ex){
      ex.printStackTrace();
    }
    return result;
  }
  //更新销售账套数据表和销售账套明细数据表记录的方法
  public int updateSaleLedgerAndSub(String ledgerDate, String[] saleLedger,
                                    String[][] saleSubLedger) {
    int result = 0;
    try{
      result = stockManagementData.updateSaleLedgerAndSub(ledgerDate,
          saleLedger, saleSubLedger);
    }catch(Exception ex){
      ex.printStackTrace();
    }
    return result;
  }
  //销售账套数据表电子签名和更新完成状态的方法
  public int signSaleLedgerAndSub(String ledgerDate, String fieldName,
                                  String userName, String saleId, int onProcess,
                                  String remark) {
    int result = 0;
    try{
      result = stockManagementData.signSaleLedgerAndSub(ledgerDate, fieldName,
          userName, saleId, onProcess, remark);
    }catch(Exception ex){
      ex.printStackTrace();
    }
    return result;
  }
  //根据单据编号取得销售账套明细数据表的记录
  public String[][] getSaleSubLedgerBySaleId(String ledgerDate, String saleId) {
    String[][] data = new String[0][5];
    try {
      data = stockManagementData.getSaleSubLedgerBySaleId(ledgerDate, saleId);
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
    return data;
  }
  //根据字符串字段取得销售账套数据表记录的方法
  public String[][] getSaleLedgerByStringField(String ledgerDate,
                                               String fieldName,
                                               String fieldValue, int saleType) {
    String[][] data = new String[0][11];
    try {
      data = stockManagementData.getSaleLedgerByStringField(ledgerDate,
          fieldName, fieldValue, saleType);
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
    return data;
  }
  //根据完成状态取得销售账套数据表记录的方法
  public String[][] getSaleLedgerByOnProcess(String ledgerDate, int saleType,
                                             int onProcess) {
    String[][] data = new String[0][11];
    try {
      data = stockManagementData.getSaleLedgerByOnProcess(ledgerDate, saleType,
          onProcess);
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
    return data;
  }
  //根据订单日期取得销售账套数据表记录的方法
  public String[][] getSaleLedgerByOrderDate(String ledgerDate,
                                             java.sql.Timestamp startDate,
                                             java.sql.Timestamp endDate,
                                             int saleType) {
    String[][] data = new String[0][11];
    try {
      data = stockManagementData.getSaleLedgerByOrderDate(ledgerDate, startDate,
          endDate, saleType);
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
    return data;
  }
  //前台销售员进行销售账套数据表电子签名的方法
  public int counterUserSignSaleLedgerAndSub(String ledgerDate, String userName,
                                             String remark, String warehouse) {
    int result = 0;
    try{
      result = stockManagementData.counterUserSignSaleLedgerAndSub(ledgerDate,
          userName, remark, warehouse);
    }catch(Exception ex){
      ex.printStackTrace();
    }
    return result;
  }
  //根据商品的条形码取得销售价和折扣
  public double[] getGoodsPriceAndDiscount(String goodsBarcode){
    double[] data = new double[2];
    data[0] = 0;
    data[1] = 0;
    try{
      //取得商品数据
      String[][] goods = stockManagementData.getGoodsByGoodsBarCode(
          goodsBarcode);
      if(goods.length == 1){
        data[0] = Double.parseDouble(goods[0][11]);
        data[1] = Double.parseDouble(goods[0][12]);
      }
    }catch(Exception ex){
      ex.printStackTrace();
    }
    return data;
  }
  //根据条形码、仓库取得商品的数量,然后检查卖出商品的数量是否足够
  public int checkGoodsSaleQuantity(String ledgerDate, String goodsBarcode,
                                    int saleQuantity, String warehouse) {
    int result = 0;
    try{
      //取得商品的库存数组
      String[][] data = stockManagementData.getStocktakeQuantityByWarehouse(ledgerDate, warehouse, 2);
      int stockQuantity = 0;
      for(int i = 0; i < data.length; i++){
        if(data[i][0].equals(goodsBarcode)){
          stockQuantity = Integer.parseInt(data[i][1]);
          break;
        }
      }
      //如果库存数大于等于销售数返回1,否则返回0
      if(stockQuantity >= saleQuantity){
        result = 1;
      }
    }catch(Exception ex){
      ex.printStackTrace();
    }
    return result;
  }
  //信用销售用户进行销售账套数据表电子签名的方法
  public int creditUserSignSaleLedgerAndSub(String ledgerDate, String userName,
                                            String remark, String warehouse,
                                            String saleId, String customerName) {
    int result = 0;
   try{
     result = stockManagementData.creditUserSignSaleLedgerAndSub(ledgerDate,
         userName, remark, warehouse, saleId, customerName);
   }catch(Exception ex){
     ex.printStackTrace();
   }
   return result;
  }
  //检查客户的方法
  public int checkCustomer(String customerName){
    int result = 0;
    String[][] detail = this.getCustomersByCustomerName(customerName);
    for(int i = 0; i < detail.length; i++){
      if(detail[i][0].equals(customerName)){
        result = 1;
        break;
      }
    }
    return result;
  }
  //检查客户信用限额的方法
  public int checkCustomerCreditLimit(String customerName, double amount){
    int result = 0;
    double creditLimit = 0;
    String[][] detail = this.getCustomersByCustomerName(customerName);
    for(int i = 0; i < detail.length; i++){
      if(detail[i][0].equals(customerName)){
        creditLimit = Double.parseDouble(detail[i][15]);
        //如果客户信用限额大于或者等于客户单次购买的金额,通过测试
        if(creditLimit >= amount){
          result = 1;
        }
        break;
      }
    }
    return result;
  }
  //现金管理员对应收票据进行电子签名的方法
  public int cashUserSignAccountReceivable(String ledgerDate, String userName,
                                           String[] currentAccountLedger) {
    int result = 0;
    try{
      result = stockManagementData.cashUserSignAccountReceivable(ledgerDate,
          userName, currentAccountLedger);
    }catch(Exception ex){
      ex.printStackTrace();
    }
    return result;
  }
  //根据关联标识、退货单的商品条形码取得库存账套的销售出库单明细账的数据
  public String[][] getStockSaleOutBySaleOrderLink(String ledgerDate,
      String saleOrderLink, String saleId) {
    String[][] data = new String[0][4];
    try {
      data = stockManagementData.getStockSaleOutBySaleOrderLink(ledgerDate,
          saleOrderLink, saleId);
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
    return data;
  }
  //前台销售员进行销售退货单电子签名的方法
  public int counterUserSignSaleReturn(String ledgerDate, String saleId,
                                       String userName, String remark,
                                       String warehouse,
                                       String[][] stockSubLedger) {
    int result = 0;
    try{
      result = stockManagementData.counterUserSignSaleReturn(ledgerDate, saleId,
          userName, remark, warehouse, stockSubLedger);
    }catch(Exception ex){
      ex.printStackTrace();
    }
    return result;
  }
  //信用销售员进行信用销售退货单电子签名的方法
  public int creditUserSignSaleReturn(String ledgerDate, String saleId,
                                      String userName, String remark,
                                      String warehouse, String customerName,
                                      String[][] stockSubLedger, boolean isPay) {
    int result = 0;
    try{
      result = stockManagementData.creditUserSignSaleReturn(ledgerDate, saleId,
          userName, remark, warehouse, customerName, stockSubLedger, isPay);
    }catch(Exception ex){
      ex.printStackTrace();
    }
    return result;
  }
}

⌨️ 快捷键说明

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