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

📄 transportmanage.java

📁 JAVA编写的单击的PIZZA店销售系统
💻 JAVA
字号:
package GUI;

import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Table;
import com.swtdesigner.SWTResourceManager;
import java.util.Date;
import java.util.List;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.TableLayout;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.jface.dialogs.*;
import Dbprocess.*;
import java.sql.*;



import Staff.*;

public class TransportManage extends Composite {
	Staffmanage sm;
	private Table table;
	final MyTableViewer myTableViewer;
	
	/**
	 * Create the composite
	 * @param parent
	 * @param style
	 */
	public TransportManage(final Composite parent, int style) {
		super(parent, style);
		
		final Label label = new Label(this, SWT.NONE);
		label.setFont(SWTResourceManager.getFont("", 16, SWT.BOLD));
		label.setText("待送定单");
		label.setBounds(10, 10, 283, 30);
		
		myTableViewer = new MyTableViewer(this, SWT.BORDER|SWT.FULL_SELECTION);
		myTableViewer.draw();



		final Button button = new Button(this, SWT.NONE);
		button.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				if(table.getSelectionCount()==0){
					MessageDialog.openError(parent.getShell(), "错误","请选择一条记录");
				}
				else{
					Date date= new Date();
					Timestamp ts = new Timestamp(date.getTime());
					(table.getItem(table.getSelectionIndex())).setText(2,ts.toString());
				}
			}		
		});
		button.setText("开始送货");
		button.setBounds(50, 412, 65, 22);

		final Button button_1 = new Button(this, SWT.NONE);
		button_1.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				if(table.getSelectionCount()==0){
					MessageDialog.openError(parent.getShell(), "错误","请选择一条记录");
				}
				try{	
					if(!table.getItem(table.getSelectionIndex()).getText(2).equals("")){
						Timestamp ts1;
						ts1 = Timestamp.valueOf(table.getItem(table.getSelectionIndex()).getText(2));
						String saleid = table.getItem(table.getSelectionIndex()).getText(0);
						String staffid = table.getItem(table.getSelectionIndex()).getText(1);
						Date date = new Date();
						Timestamp ts2 = new Timestamp(date.getTime());
						int wage;
						if(((ts2.getTime()-ts1.getTime())/1000/60)<=30){
							wage = 5;
						}
						else if(((ts2.getTime()-ts1.getTime())/1000/60)>60){
							wage =0;
						}
						else{
							wage = 3;
						}
						DBmanager dbm = new DBmanager();
						Connection con = dbm.getCon();
						String sql = "Update staffsent set senttime = ? , backtime = ? , wage = ? WHERE saleid = ? AND staffid = ?";
						PreparedStatement ps = con.prepareStatement(sql);
						ps.setTimestamp(1,ts1);
						ps.setTimestamp(2,ts2);
						ps.setInt(3, wage);
						ps.setString(4, saleid);
						ps.setString(5, staffid);
						ps.executeUpdate();
						
						
						myTableViewer.draw();	
					}
					else{
						MessageDialog.openError(parent.getShell(), "错误","该定单并未送出");
					}
					
					
				}
				catch(Exception e1){
					e1.printStackTrace();
				}
			}
		});
		button_1.setText("送货完成");
		button_1.setBounds(205, 412, 65, 22);

		final Button button_2 = new Button(this, SWT.NONE);
		button_2.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				myTableViewer.draw();
			}
		});
		button_2.setText("刷新");
		button_2.setBounds(309, 411, 44, 25);
		//
	}
	
	public class MyTableViewer extends TableViewer{
		public MyTableViewer(Composite com,int style){
			super(com,style);
			
			table = this.getTable();
			table.setBounds(10, 46, 405, 326);		
			table.setRedraw(true);
			table.setHeaderVisible(true); //表头显示
			table.setLinesVisible(true); //表格线显示

			TableLayout tLayout = new TableLayout();
			table.setLayout(tLayout);
			final TableColumn newColumnTableColumn = new TableColumn(table, SWT.NONE);
			newColumnTableColumn.setWidth(100);
			newColumnTableColumn.setText("销售ID");

			final TableColumn newColumnTableColumn_1 = new TableColumn(table, SWT.NONE);
			newColumnTableColumn_1.setWidth(100);
			newColumnTableColumn_1.setText("员工ID");

			final TableColumn newColumnTableColumn_2 = new TableColumn(table, SWT.NONE);
			newColumnTableColumn_2.setWidth(250);
			newColumnTableColumn_2.setText("开始送货时间");
	
			this.setContentProvider(new MyContentProvider()); //内容器
			this.setLabelProvider(new MyLabelProvider()); //标签器
		}
		
		public void draw(){		
			Staffmanage sm2 = new Staffmanage();
			this.setInput(sm2.getStaffSent());				
		}
}
	
	 /**
     * 内容器(写成了一个内部类). 在这里对所有记录集中的记录进行处理
     */

	
	private static final class MyContentProvider implements IStructuredContentProvider {
	        public Object[] getElements(Object element) {
	            if (element instanceof List)
	                return ((List) element).toArray();//将List转化为数组
	            else
	                return new Object[0];//否则,返回一个空数组
	        }

	        public void dispose() {}
	        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
	    }

	  /**
	   * 标签器(写成了一个内部类).在这里对单条记录进行处理
	     */
	private static final class MyLabelProvider implements ITableLabelProvider {
	        /**
	         * 这个方法返回的是各列的记录的文字
	         * 参数1:输入的对象
	         * 参数2:列号
	         * 返回值:注意一定要避免Null值,否则出错
	         */
	        public String getColumnText(Object element, int col) {
	            StaffSent s = (StaffSent) element; //转换一下类型
	            if (col == 0)
	                return s.getSaleid();
	            if (col == 1)
	                return s.getStaffid();

	            return "";
	        }
	        /**
	         * 返回每条记录前面的图标
	         */
	        public Image getColumnImage(Object element, int columnIndex) {
	            return null;
	        }
	        //-------------以下方法用处不大,暂时不管它-----------------
	        public void addListener(ILabelProviderListener listener) {}
	        public void dispose() {}
	        public boolean isLabelProperty(Object element, String property) {
	            return false;
	        }
	        public void removeListener(ILabelProviderListener listener) {}
	    }


	public Staffmanage getSm() {
		return sm;
	}

	public void setSm(Staffmanage sm) {
		this.sm = sm;
	}

	public void dispose() {
		super.dispose();
	}

	protected void checkSubclass() {
		// Disable the check that prevents subclassing of SWT components
	}

}

⌨️ 快捷键说明

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