📄 returnsalejdialog.java.svn-base
字号:
/* * returnSaleJDialog.java * * Created on 2007年6月9日, 下午7:31 */package com.studio009.store.ui;import com.studio009.store.StoreApp;import com.studio009.store.entity.Sale;import com.studio009.store.entity.SaleItem;import com.studio009.store.entity.StoreGoods;import java.text.SimpleDateFormat;import java.util.Vector;import javax.swing.JOptionPane;import javax.swing.event.ListSelectionEvent;import javax.swing.event.ListSelectionListener;import javax.swing.table.DefaultTableModel;/** * 销售单退货对话框 * @see Sale * @author wangs */public class ReturnSaleJDialog extends javax.swing.JDialog { /** Creates new form returnSaleJDialog * @param parent 父窗口 * @param modal 模式 */ public ReturnSaleJDialog(java.awt.Window parent, boolean modal) { super(parent, java.awt.Dialog.ModalityType.APPLICATION_MODAL); initComponents(); // 设置对话框居中 this.setLocationRelativeTo(parent); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents private void initComponents() { em = StoreApp.getEntityManagerFactory().createEntityManager(); saleQuery = em.createQuery("select s from Sale s where s.saleState = 1"); saleList = saleQuery.getResultList(); jPanel1 = new javax.swing.JPanel(); jButton1 = new javax.swing.JButton(); jTextField1 = new javax.swing.JTextField(); jLabel1 = new javax.swing.JLabel(); jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("\u9500\u552e\u9000\u8d27"); jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder()); jButton1.setFont(new java.awt.Font("Dialog", 1, 14)); jButton1.setText("\u9000\u8d27"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); jTextField1.setFont(new java.awt.Font("Dialog", 0, 18)); jLabel1.setFont(new java.awt.Font("Dialog", 1, 14)); jLabel1.setText("\u9500\u552e\u5355\u53f7:"); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGap(23, 23, 23) .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 211, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(260, 260, 260) .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jTextField1) .addComponent(jLabel1) .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jTable1.setModel(getSaleTableModel()); jTable1.getSelectionModel().addListSelectionListener(new ListSelectionListener(){ public void valueChanged(ListSelectionEvent e) { tableSelected(e); } }); jScrollPane1.setViewportView(jTable1); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 698, Short.MAX_VALUE) .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 371, Short.MAX_VALUE) .addContainerGap()) ); pack(); }// </editor-fold>//GEN-END:initComponents private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed int saleID = 0; try { saleID = Integer.parseInt(jTextField1.getText()); } catch (Exception e) { } // 在实体管理器里寻找销售单 Sale sale = em.find(Sale.class, saleID); if (sale == null) { JOptionPane.showMessageDialog(this, "没有找到该销售单!"); jTextField1.requestFocus(); return; } for (SaleItem si : sale.getSaleItemCollection()) { // 查找商品 StoreGoods sg = si.getStoreGoodsID(); if (sg == null) { JOptionPane.showMessageDialog(this, "没有找到商品!"); return; } // 更新数量 double quantity = sg.getStoreGoodsQuantity() + si.getSaleQuantity(); sg.setStoreGoodsQuantity(quantity); } sale.setSaleState(0); // 更新到数据库 try { em.getTransaction().begin(); em.getTransaction().commit(); } catch(Exception e) { JOptionPane.showMessageDialog(this, "退货失败!"); return; } JOptionPane.showMessageDialog(this, "销售单: " + sale.getSaleID() + " 已退货!"); updateTable();}//GEN-LAST:event_jButton1ActionPerformedprivate void tableSelected(ListSelectionEvent evt) { try { jTextField1.setText(saleList.get(jTable1.getSelectedRow()).getSaleID().toString()); } catch(Exception e) { }}/** * 获取用来显示进货单的表格模型 * @return 用来显示进货单的表格模型 */public DefaultTableModel getSaleTableModel() { Vector columnName=new Vector(); columnName.add("单据编号"); columnName.add("客户名称"); columnName.add("操作员"); columnName.add("售货时间 "); columnName.add("实付款"); columnName.add("欠付款"); Vector content=new Vector(); for( Sale s : saleList) { Vector row = new Vector(); row.add(s.getSaleID()); row.add(s.getCustomerName().getCustomerName()); row.add(s.getOperatorName().getOperatorName()); row.add(new SimpleDateFormat().format(s.getSaleTime())); row.add(String.format("%.2f", s.getGetMoney())); row.add(String.format("%.2f", s.getOweGetMoney())); content.add(row); } DefaultTableModel saleItemTableModel=new DefaultTableModel(content,columnName){ public boolean isCellEditable(int row, int col) { return false; } }; return saleItemTableModel;}/** * 更新表格 */private void updateTable(){ saleList = saleQuery.getResultList(); jTable1.setModel(getSaleTableModel()); }/** * @param args the command line arguments */public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { ReturnSaleJDialog dialog = new ReturnSaleJDialog(new javax.swing.JFrame(), true); dialog.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent e) { System.exit(0); } }); dialog.setVisible(true); } });} // Variables declaration - do not modify//GEN-BEGIN:variables private javax.persistence.EntityManager em; private javax.swing.JButton jButton1; private javax.swing.JLabel jLabel1; private javax.swing.JPanel jPanel1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable jTable1; private javax.swing.JTextField jTextField1; private java.util.List<Sale> saleList; private javax.persistence.Query saleQuery; // End of variables declaration//GEN-END:variables }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -