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

📄 goodsquantitycombineframe.java

📁 一个使用java 写的进销存代码 使用了ejb 等技术 是学习j2ee的好
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
      jButton3.setEnabled(false);      jButton4.setEnabled(false);      jButton5.setEnabled(false);      jButton6.setEnabled(true);      jButton7.setEnabled(true);    }else{      jButton2.setEnabled(true);      jButton3.setEnabled(true);      jButton4.setEnabled(true);      jButton5.setEnabled(true);      jButton6.setEnabled(false);      jButton7.setEnabled(false);    }  }  //检查明细账按钮的状态  public void checkSubBtn(boolean isCreated){    if(isCreated){      jButton9.setEnabled(true);      jButton10.setEnabled(true);    }else{      jButton9.setEnabled(false);      jButton10.setEnabled(false);    }  }  //列表1的选择事件  void jList1_valueChanged(ListSelectionEvent e) {    if(listData1.size() > 0){      this.showStockLedger();    }else{      this.clearStockLedger();    }  }  //表格行选择事件  public void jTable1_valueChanged(ListSelectionEvent e) {    //重新计算金额    this.recountGoodsOutAmount();  }  //表格内容改变事件  public void jTable2_valueChanged(TableModelEvent e) {    //重新计算金额    this.recountGoodsInAmount();  }  //为调入商品表格创建一个空行  public void createNewLineForGoodsIn(){    Object[][] tempObjs = new Object[1][7];    tempObjs[0][0] = new Integer(0);    tempObjs[0][1] = new String("");    tempObjs[0][2] = new String("");    tempObjs[0][3] = new Double(0);    tempObjs[0][4] = new Integer(0);    tempObjs[0][5] = new Double(0);    tempObjs[0][6] = new String("");    stockSubLedgerObjectsIn = tempObjs;    this.showTableDataIn(stockSubLedgerObjectsIn);  }  //查询方法  public void search(){    //取得查询选项    int selectedIndex = jComboBox1.getSelectedIndex();    //取得编辑框的变量    String searchValue = jTextField1.getText().trim();    String startDateStr = jTextField2.getText().trim();    String endDateStr = jTextField3.getText().trim();    if (selectedIndex == 0 | selectedIndex == 1 | selectedIndex == 2 |        selectedIndex == 3 | selectedIndex == 4) {      if (searchValue.length() == 0) {        JOptionPane.showMessageDialog(null, "请输入查询值");        return;      }      switch (selectedIndex) {        case 0:          //根据商品组合单编号取得记录          stockLedgers = stockManagementData.getStockLedgerByStringField(              ledgerDate, "orderId", searchValue, 12);          break;        case 1:          //根据商品组合用户取得记录          stockLedgers = stockManagementData.getStockLedgerByStringField(              ledgerDate, "submitUser", searchValue, 12);          break;        case 2:          //根据组合前仓库名字取得记录,组合前仓库名字保存在组合单的commitUser字段          stockLedgers = stockManagementData.getStockLedgerByStringField(              ledgerDate, "commitUser", searchValue, 12);          break;        case 3:          //根据组合后仓库名字取得记录,          stockLedgers = stockManagementData.getStockLedgerByStringField(              ledgerDate, "warehouse", searchValue, 12);          break;        case 4:          if(dataMethod.checkInt(searchValue) == 0){            JOptionPane.showMessageDialog(null, "按完成状态查询时,输入值必须是整数,"                                          + "0表示进行,1表示撤消,2表示完成.");            return;          }          //根据完成状态取得记录          stockLedgers = stockManagementData.getStockLedgerByOnProcess(              ledgerDate, 12, Integer.parseInt(searchValue));          break;      }    }else{      java.sql.Timestamp startDate = dataMethod.transferDate(startDateStr);      java.sql.Timestamp endDate = dataMethod.transferEndDate(endDateStr);      if(startDate == null | endDate == null){        JOptionPane.showMessageDialog(null, "日期输入错误,正确的日期格式是"                                      + "yyyy-mm-dd(年-月-日),如2004-1-1");        return;      }      //根据日期取得记录      stockLedgers = stockManagementData.getStockLedgerByOrderDate(ledgerDate,          startDate, endDate, 12);    }    this.showSearchStockLedger();  }  //单击事件  public void actionPerformed(ActionEvent e) {    //取得按钮的动作字符串    String actionCommand = e.getActionCommand().trim();    //检查打开的账套是否当前账套    if (actionCommand.equals("createStockLedger") |        actionCommand.equals("updateStockLedger") |        actionCommand.equals("cancelStockLedger") |        actionCommand.equals("restoreStockLedger")) {      int result = stockManagementData.isCurrentLedger(ledgerDate);      if(result == 0){        JOptionPane.showMessageDialog(null, ledgerDate + "是往期账套,不能进行添加、修改、撤消和恢复操作.");        return;      }    }    if (actionCommand.equals("search")) {      //查询      search();    }else if(actionCommand.equals("createStockLedger")){      action = "create";      this.clearStockLedger();      this.createNewLineForGoodsIn();      this.checkBtn(true);      this.checkSubBtn(true);    }else if(actionCommand.equals("updateStockLedger")){      action = "update";      this.checkBtn(true);    }else if(actionCommand.equals("cancelStockLedger")){      action = "cancel";      this.checkBtn(true);    }else if(actionCommand.equals("restoreStockLedger")){      action = "restore";      this.checkBtn(true);    }else if(actionCommand.equals("ok")){      int selectedIndex = jList1.getSelectedIndex();      //创建库存账套数据表的单个记录数组      String[] stockLedger = new String[13];      //取得商品组合单的值      stockLedger[0] = "";                           //单据编号      stockLedger[1] = "12";                         //12表示商品组合调入单      stockLedger[2] = "";                           //关联标识      stockLedger[3] = user.getUserName();           //组合用户      stockLedger[4] = jTextField7.getText().trim(); //组合前仓库      stockLedger[5] = "";      stockLedger[6] = "";      stockLedger[7] = "";      stockLedger[8] = jTextField8.getText().trim();  //组合后仓库      stockLedger[9] = jTextField9.getText().trim();  //组合日期      stockLedger[10] = dataMethod.getCurrentDate().toString(); //填写组合单的系统日期      stockLedger[11] = "2";                          //组合单一旦创建,便处于完成状态      stockLedger[12] = jTextArea1.getText().trim();      int result = 0;      if(action.equals("update") | action.equals("create")){        //检查组合前仓库名字        result = stockManagementData.checkWarehouse(stockLedger[4]);        if(result == 0){          JOptionPane.showMessageDialog(null, stockLedger[4] + "在仓库数据库中"                                        + "不存在,请打开仓库数据管理窗口添加.");          return;        }        //检查组合后仓库名字        result = stockManagementData.checkWarehouse(stockLedger[8]);        if(result == 0){          JOptionPane.showMessageDialog(null, stockLedger[8] + "在仓库数据库中"                                        + "不存在,请打开仓库数据管理窗口添加.");          return;        }        //检查组合日期        if(dataMethod.transferDateTime(stockLedger[9]) == null){          JOptionPane.showMessageDialog(null, "组合日期输入错误,正确的日期格式是"                                      + "yyyy-mm-dd(年-月-日),如2004-1-1");          return;        }        //检查商品组合单明细账的商品条形码、数量、日期        result = this.checkStockSubLedgerGoodsBarCode();        if(result == 0)  return;        result = this.checkStockSubLedgerQuantity();        if(result == 0)  return;        result = this.checkStockSubLedgerDate();        if(result == 0)  return;        //检查组合前与组合后商品的进货金额是否相等        result = this.checkGoodsInAndOutAmount();        if(result == 0)  return;        //转换表格数组        this.transferTableData();      }      if(action.equals("create")){        //检查明细账是否为空        if(stockSubLedgerObjectsOut.length == 0){          JOptionPane.showMessageDialog(null, "组合前的商品明细为空,不可以创建商品组合单.");          return;        }        //添加商品组合单        result = stockManagementData.createCombineOrder(ledgerDate,            stockLedger, stockSubLedgersOut, stockSubLedgersIn);        if(result == 1){          JOptionPane.showMessageDialog(null, "商品组合单添加成功,请重新执行查询操作显示新的商品组合单.");        }else{          JOptionPane.showMessageDialog(null, "商品组合单添加失败,请检查输入值是否大于字段范围.");        }      }else if (action.equals("update")){        //取得原来的单据编号        stockLedger[0] = stockLedgers[selectedIndex][0].trim();        //取得原来的关联标识        stockLedger[2] = stockLedgers[selectedIndex][2].trim();        //修改商品组合单        result = stockManagementData.updateCombineOrder(ledgerDate,            stockLedger, stockSubLedgersOut, stockSubLedgersIn);        if(result == 1){          JOptionPane.showMessageDialog(null, "商品组合单修改成功.");          //更新数组的数据          for (int i = 0; i < 13; i++) {            stockLedgers[selectedIndex][i] = stockLedger[i];          }        }else{          JOptionPane.showMessageDialog(null, "商品组合单修改失败,请检查输入值是否大于字段范围.");        }      }else if (action.equals("cancel")){        //撤消商品组合单        result = stockManagementData.cancelOrRestoreRearrangeOrder(ledgerDate,            stockLedgers[selectedIndex][0], stockLedgers[selectedIndex][2],            user.getUserName(), 1, stockLedger[12]);        if(result == 1){          JOptionPane.showMessageDialog(null, "商品组合单撤消成功.");          //更新完成状态编辑框的值          jTextField10.setText(onProcesses[1]);          //更新数组的数据          stockLedgers[selectedIndex][11] = "1";          stockLedgers[selectedIndex][12] = stockLedger[12];        }else{          JOptionPane.showMessageDialog(null, "商品组合单撤消失败.");        }      }else if (action.equals("restore")){        //恢复商品组合单        result = stockManagementData.cancelOrRestoreRearrangeOrder(ledgerDate,            stockLedgers[selectedIndex][0], stockLedgers[selectedIndex][2],            user.getUserName(), 2, stockLedger[12]);        if(result == 1){          JOptionPane.showMessageDialog(null, "商品组合单恢复成功.");          //更新完成状态编辑框的值          jTextField10.setText(onProcesses[2]);          //更新数组的数据          stockLedgers[selectedIndex][11] = "2";          stockLedgers[selectedIndex][12] = stockLedger[12];        }else{          JOptionPane.showMessageDialog(null, "商品组合单恢复失败.");        }      }      this.checkSubBtn(false);      this.checkBtn(false);    }else if(actionCommand.equals("cancel")){      this.jList1_valueChanged(null);      this.checkBtn(false);      this.checkSubBtn(false);    }else if(actionCommand.equals("createSub")){      //为商品明细表添加一个空行      int objectsLength = stockSubLedgerObjectsOut.length;      Object[][] tempObjs = new Object[objectsLength + 1][7];      System.arraycopy(stockSubLedgerObjectsOut, 0, tempObjs, 0, objectsLength);      tempObjs[objectsLength][0] = new Integer(0);      tempObjs[objectsLength][1] = new String("");      tempObjs[objectsLength][2] = new String("");      tempObjs[objectsLength][3] = new Double(0);      tempObjs[objectsLength][4] = new Integer(0);      tempObjs[objectsLength][5] = new Double(0);      tempObjs[objectsLength][6] = new String("");      stockSubLedgerObjectsOut = tempObjs;      this.showTableDataOut(stockSubLedgerObjectsOut);    }else if(actionCommand.equals("deleteSub")){      if(jTable1.getSelectedRowCount() == 0){        JOptionPane.showMessageDialog(null, "请选择明细记录.");        return;      }      //删除选择的记录      int selectedIndex = jTable1.getSelectedRow();      Object[][] tempObjs = new Object[stockSubLedgerObjectsOut.length - 1][7];      int line = 0;      for(int i = 0; i < stockSubLedgerObjectsOut.length; i++){        if(i == selectedIndex){          continue;        }else{          for(int j = 0; j < 7; j++){            tempObjs[line][j] = stockSubLedgerObjectsOut[i][j];          }          line++;        }      }      stockSubLedgerObjectsOut = tempObjs;      this.showTableDataOut(stockSubLedgerObjectsOut);    }else if(actionCommand.equals("exit")){      exit();    }  }}

⌨️ 快捷键说明

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