📄 creditsalereturnframe.java
字号:
} int result = 0; if(action.equals("update") | action.equals("create")){ //检查销售退货单的客户 result = stockManagementData.checkCustomer(saleLedger[2]); if(result == 0){ JOptionPane.showMessageDialog(null, saleLedger[2] + "在客户数据库中" + "不存在,请打开客户数据管理窗口添加."); return; } //检查销售退货单的柜台名字 result = stockManagementData.checkWarehouse(saleLedger[3]); if(result == 0){ JOptionPane.showMessageDialog(null, saleLedger[3] + "在仓库数据库中" + "不存在,请打开仓库数据管理窗口添加."); return; } //检查商品条形码 result = this.checkSaleSubLedgerGoodsBarCode(); if(result == 0) return; //检查销售退货单的数量 result = this.checkSaleSubLedgerQuantity(); if(result == 0) return; //转换表格数组 this.transferSaleReturnTableData(); } if(action.equals("create")){ //检查明细账是否为空 if(saleSubLedgerObjects.length == 0){ JOptionPane.showMessageDialog(null, "明细账数据表为空,不可以创建销售退货单."); return; } //添加销售退货单 result = stockManagementData.createSaleLedgerAndSub(ledgerDate, saleLedger, saleSubLedgers); if(result == 1){ JOptionPane.showMessageDialog(null, "销售退货单添加成功,请重新执行查询操作显示新的销售退货单."); }else{ JOptionPane.showMessageDialog(null, "销售退货单添加失败,请检查输入值是否大于字段范围."); } }else if (action.equals("update")){ //修改销售退货单 result = stockManagementData.updateSaleLedgerAndSub(ledgerDate, saleLedger, saleSubLedgers); if(result == 1){ JOptionPane.showMessageDialog(null, "销售退货单修改成功."); //更新数组的数据 int selectedIndex = jList1.getSelectedIndex(); for(int i = 0; i < 11; i++){ saleLedgers[selectedIndex][i] = saleLedger[i]; } }else{ JOptionPane.showMessageDialog(null, "销售退货单修改失败,请检查输入值是否大于字段范围."); } }else if (action.equals("cancel")){ //撤消销售退货单 result = stockManagementData.signSaleLedgerAndSub(ledgerDate, "counterUser", user.getUserName(), saleLedger[0], 1, saleLedger[10]); if(result == 1){ JOptionPane.showMessageDialog(null, "销售退货单撤消成功."); //更新完成状态编辑框的值 jTextField10.setText(onProcesses[1]); //更新数组的数据 int selectedIndex = jList1.getSelectedIndex(); saleLedgers[selectedIndex][9] = "1"; saleLedgers[selectedIndex][10] = saleLedger[10]; }else{ JOptionPane.showMessageDialog(null, "销售退货单撤消失败."); } }else if (action.equals("restore")){ //恢复销售退货单 result = stockManagementData.signSaleLedgerAndSub(ledgerDate, "counterUser", user.getUserName(), saleLedger[0], 0, saleLedger[10]); if(result == 1){ JOptionPane.showMessageDialog(null, "销售退货单恢复成功."); //更新完成状态编辑框的值 jTextField10.setText(onProcesses[0]); //更新数组的数据 int selectedIndex = jList1.getSelectedIndex(); saleLedgers[selectedIndex][9] = "0"; saleLedgers[selectedIndex][10] = saleLedger[10]; }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("sign")){ //检查库存销售退货单的商品条形码 int result = this.checkStockSubLedgerGoodsBarCode(); if(result == 0) return; //检查库存销售退货单的数量 result = this.checkStockSubLedgerQuantity(); if(result == 0) return; //检查库存销售退货单的有效期 result = this.checkStockSubLedgerDate(); if(result == 0) return; //检查销售退货单和库存销售退货单的数量是否相等 result = this.CheckSaleAndStockQuantity(); if(result == 0) return; //转换库存表格数组 this.transferStockTableData(); int selectedIndex = jList1.getSelectedIndex(); String saleId = saleLedgers[selectedIndex][0]; String warehouse = saleLedgers[selectedIndex][3]; String remark = jTextArea1.getText(); //取得是否付款的变量 boolean isPay = false; if(jRadioButton1.isSelected()){ isPay = true; } //取得客户的名字 String customerName = saleLedgers[selectedIndex][2]; //进行电子签名 result = stockManagementData.creditUserSignSaleReturn(ledgerDate, saleId, user.getUserName(), remark, warehouse, customerName, stockSubLedgers, isPay); if(result == 1){ JOptionPane.showMessageDialog(null, "电子签名成功."); //更新完成状态编辑框的值 jTextField10.setText(onProcesses[2]); saleLedgers[selectedIndex][9] = "2"; saleLedgers[selectedIndex][10] = remark; }else{ JOptionPane.showMessageDialog(null, "电子签名失败."); } }else if(actionCommand.equals("print")){ int selectedIndex = jList1.getSelectedIndex(); if(selectedIndex == -1){ JOptionPane.showMessageDialog(null, "先选择销售退货单."); return; } //取得选择销售退货单的数据 String[] saleLedger = new String[11]; for(int i = 0; i < saleLedger.length; i++){ if(saleLedgers[selectedIndex][i] == null){ saleLedger[i] = ""; }else{ saleLedger[i] = saleLedgers[selectedIndex][i]; } } //取得销售退货单的明细账数据 String[][] saleSubLedgerForPrint = new String[saleSubLedgerObjects.length][4]; for(int i = 0; i < saleSubLedgers.length; i++){ saleSubLedgerForPrint[i][0] = (String)saleSubLedgerObjects[i][2]; saleSubLedgerForPrint[i][1] = ((Double)saleSubLedgerObjects[i][6]).toString(); saleSubLedgerForPrint[i][2] = ((Integer)saleSubLedgerObjects[i][7]).toString(); saleSubLedgerForPrint[i][3] = ((Double)saleSubLedgerObjects[i][8]).toString(); } //显示销售退货单打印窗口 if(saleOrderReturnPrintFrame == null){ saleOrderReturnPrintFrame = new SaleOrderReturnPrintFrame(); //使窗口居中对齐 setCenterPosition(saleOrderReturnPrintFrame); saleOrderReturnPrintFrame.setVisible(true); }else{ saleOrderReturnPrintFrame.setVisible(true); } //为打印窗口传入数组参数 saleOrderReturnPrintFrame.setSaleLedger(saleLedger); saleOrderReturnPrintFrame.setSaleSubLedger(saleSubLedgerForPrint); //显示总页码 saleOrderReturnPrintFrame.splitPage(); }else if(actionCommand.equals("printAccountPayable")){ int selectedIndex = jList1.getSelectedIndex(); if(selectedIndex == -1){ JOptionPane.showMessageDialog(null, "先选择销售退货单."); return; } //取得销售退货单标识和完成状态 String saleId = saleLedgers[selectedIndex][0]; int onProcess = Integer.parseInt(saleLedgers[selectedIndex][9]); if(onProcess != 2){ JOptionPane.showMessageDialog(null, "销售退货单未完成,不能打印应付票据."); return; } //根据销售单标识取得往来账数组 String[] currentAccountLedger = stockManagementData. getCurrentAccountLedgerBylinkId(ledgerDate, "sa" + saleId); if(currentAccountLedger[0] == null){ JOptionPane.showMessageDialog(null, "该销售退货单对应的销售单未付款,所以没有应付票据."); return; } for(int i = 0; i < currentAccountLedger.length; i++){ if(currentAccountLedger[i] == null){ if(i == 9){ currentAccountLedger[i] = "0"; }else{ currentAccountLedger[i] = ""; } } } //显示应付票据打印窗口 if(saleReturnPayablePrintFrame == null){ saleReturnPayablePrintFrame = new SaleReturnPayablePrintFrame(); //使窗口居中对齐 setCenterPosition(saleReturnPayablePrintFrame); saleReturnPayablePrintFrame.setVisible(true); }else{ saleReturnPayablePrintFrame.setVisible(true); } //为打印窗口传入数组参数 saleReturnPayablePrintFrame.setCurrentAccountLedger(currentAccountLedger); //显示应付票据内容 saleReturnPayablePrintFrame.showOnePage(); }else if(actionCommand.equals("createSub")){ //为销售账套明细表添加一个空行 int objectsLength = saleSubLedgerObjects.length; Object[][] tempObjs = new Object[objectsLength + 1][9]; System.arraycopy(saleSubLedgerObjects, 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 Double(0); //折扣 tempObjs[objectsLength][5] = new Double(0); //实际售价 tempObjs[objectsLength][6] = new Double(0); //退货金额 tempObjs[objectsLength][7] = new Integer(0); //数量 tempObjs[objectsLength][8] = new Double(0); //金额 saleSubLedgerObjects = tempObjs; this.showSaleTableData(saleSubLedgerObjects); }else if(actionCommand.equals("deleteSub")){ if(jTable1.getSelectedRowCount() == 0){ JOptionPane.showMessageDialog(null, "请选择销售退货单明细列表的明细记录."); return; } //删除选择的记录 int selectedIndex = jTable1.getSelectedRow(); Object[][] tempObjs = new Object[saleSubLedgerObjects.length - 1][9]; int line = 0; for(int i = 0; i < saleSubLedgerObjects.length; i++){ if(i == selectedIndex){ continue; }else{ for(int j = 0; j < 9; j++){ tempObjs[line][j] = saleSubLedgerObjects[i][j]; } line++; } } saleSubLedgerObjects = tempObjs; this.showSaleTableData(saleSubLedgerObjects); }else if(actionCommand.equals("deleteStockSub")){ if(jTable2.getSelectedRowCount() == 0){ JOptionPane.showMessageDialog(null, "请选择库存列表的明细记录."); return; } //删除选择的记录 int selectedIndex = jTable2.getSelectedRow(); Object[][] tempObjs = new Object[stockSubLedgerObjects.length - 1][4]; int line = 0; for(int i = 0; i < stockSubLedgerObjects.length; i++){ if(i == selectedIndex){ continue; }else{ for(int j = 0; j < 4; j++){ tempObjs[line][j] = stockSubLedgerObjects[i][j]; } line++; } } stockSubLedgerObjects = tempObjs; this.showStockTableData(stockSubLedgerObjects); }else if(actionCommand.equals("exit")){ exit(); } } //使窗口居中的方法 public void setCenterPosition(JFrame frame){ Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } frame.setLocation( (screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -