📄 policy.java
字号:
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Text;
import com.swtdesigner.SWTResourceManager;
public class Policy extends Composite {
private MessageBox messageBox;
private Text text_5;
private Combo combo;
private Text text_4;
private Text text_3;
private Text text_2;
private Text text_1;
private List list;
private Button button;
private Button button_1;
private Button button_2;
private Button button_6;
private Label label_1;
private Label label_2;
private Label label_3;
private Label emailLabel;
private Label label_5;
private Label label_6;
private Label label_7;
private String id;
private String pwd;
private String ID;
private int type = 1;
private Date datetime;
private Composite parent;
private int parentID;
private boolean flag = true;
/**
* Create the composite
* @param parent
* @param style
*/
public Policy(final Composite parent, int style,String id,String pwd,String ID) {
super(parent, style);
this.parent = parent;
this.id = id;
this.pwd = pwd;
this.ID = ID;
this.setBounds(0, 0, 699, 470);
final Label label = new Label(this, SWT.SEPARATOR | SWT.HORIZONTAL);
label.setBounds(0, 45, 700, 2);
final Label label_4 = new Label(this, SWT.NONE);
label_4.setFont(SWTResourceManager.getFont("经典行楷繁", 22, SWT.NONE));
label_4.setAlignment(SWT.CENTER);
label_4.setText("策略公告管理平台");
label_4.setBounds(0, 10, 700, 29);
list = new List(this, SWT.V_SCROLL | SWT.MULTI | SWT.BORDER);
list.setItems(new String[] {"sd", "d", "d", "d", "d", "d", "dd", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d"});
list.setBounds(36, 68, 624, 130);
listPolicy();
//
PolicyPublic();
PublicDisplay();
final Button button_3 = new Button(this, SWT.NONE);
button_3.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
list.removeAll();
listPolicy();
}
});
button_3.setText("刷 新");
button_3.setBounds(587, 218, 73, 22);
}
private void PublicDisplay(){
combo.setVisible(true);
combo.setEnabled(false);
label_1.setVisible(true);
label_2.setVisible(true);
label_3.setVisible(true);
emailLabel.setVisible(true);
label_5.setVisible(true);
label_6.setVisible(true);
label_7.setVisible(true);
text_1.setVisible(true);
text_2.setVisible(true);
text_3.setVisible(true);
text_4.setVisible(true);
text_5.setVisible(true);
button.setVisible(true);
button_1.setVisible(true);
button_2.setVisible(true);
button_2.setSelection(true);
button_6.setVisible(true);
}
protected void PolicyPublic(){
label_1 = new Label(this, SWT.CENTER);
label_1.setFont(SWTResourceManager.getFont("宋体", 10, SWT.NONE));
label_1.setText("姓 名");
label_1.setBounds(35, 265, 60, 15);
label_1.setVisible(false);
label_2 = new Label(this, SWT.CENTER);
label_2.setFont(SWTResourceManager.getFont("宋体", 10, SWT.NONE));
label_2.setText("联系电话");
label_2.setBounds(35, 300, 60, 15);
label_2.setVisible(false);
emailLabel = new Label(this, SWT.CENTER);
emailLabel.setFont(SWTResourceManager.getFont("宋体", 10, SWT.NONE));
emailLabel.setText("E-mail");
emailLabel.setBounds(35, 335, 60, 15);
emailLabel.setVisible(false);
label_5 = new Label(this, SWT.CENTER);
label_5.setFont(SWTResourceManager.getFont("宋体", 10, SWT.NONE));
label_5.setText("当前日期");
label_5.setBounds(35, 370, 60, 15);
label_5.setVisible(false);
text_1 = new Text(this, SWT.BORDER);
text_1.setEnabled(false);
text_1.setBounds(105, 260, 100, 20);
text_1.setVisible(false);
label_3 = new Label(this, SWT.CENTER);
label_3.setFont(SWTResourceManager.getFont("宋体", 10, SWT.NONE));
label_3.setText("公告类型");
label_3.setBounds(35, 405, 60, 15);
label_3.setVisible(false);
text_2 = new Text(this, SWT.BORDER);
text_2.setBounds(105, 294, 100, 20);
text_2.setVisible(false);
text_3 = new Text(this, SWT.BORDER);
text_3.setBounds(105, 329, 100, 20);
text_3.setVisible(false);
text_4 = new Text(this, SWT.BORDER);
text_4.setBounds(105, 365, 100, 20);
text_4.setVisible(false);
combo = new Combo(this, SWT.READ_ONLY);
combo.setVisibleItemCount(8);
combo.setBounds(272, 402, 95, 20);
replyObject(combo);
text_5 = new Text(this, SWT.BORDER);
text_5.setBounds(220, 287, 438, 98);
text_5.setVisible(false);
label_6 = new Label(this, SWT.NONE);
label_6.setFont(SWTResourceManager.getFont("宋体", 10, SWT.NONE));
label_6.setText("内 容:");
label_6.setBounds(222, 263, 60, 15);
label_6.setVisible(false);
button_2 = new Button(this, SWT.RADIO);
button_2.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
combo.setEnabled(false);
}
});
button_2.setText("公告");
button_2.setBounds(113, 405, 45, 16);
button_6 = new Button(this, SWT.RADIO);
button_6.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
combo.setEnabled(true);
}
});
button_6.setText("回复");
button_6.setBounds(164, 405, 45, 16);
label_7 = new Label(this, SWT.NONE);
label_7.setText("回复对象:");
label_7.setBounds(212, 407, 54, 12);
label_7.setVisible(false);
button = new Button(this, SWT.NONE);
button.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
flag = true;
int add_id = Integer.parseInt(ID);
String email = "";
String phone = "";
String message = "";
if(button_6.getSelection() && combo.getSelectionIndex() == -1)
{
messageBox = new MessageBox(parent.getShell(),SWT.ICON_INFORMATION);
messageBox.setMessage("请选择回复对象");
messageBox.setText("提示");
messageBox.open();
flag = false;
}
if(flag)
{
if(text_5.getText().equals(""))
{
messageBox = new MessageBox(parent.getShell(),SWT.ICON_INFORMATION);
messageBox.setMessage("请输入公告内容");
messageBox.setText("提示");
messageBox.open();
flag = false;
}
else
message = text_5.getText();
}
if(flag)
{
if(button_6.getSelection())
{
type = 1;
parentID = Integer.parseInt(combo.getItem(combo.getSelectionIndex()));
}
else
{
type = 0;
}
}
if(flag)
try{
datetime = Date.valueOf(text_4.getText());
}
catch(Exception px)
{
messageBox = new MessageBox(parent.getShell(),SWT.ICON_ERROR);
messageBox.setMessage("日期格式错误,请重新输入");
messageBox.setText("提示");
messageBox.open();
flag = false;
}
if(flag)
{
email = text_2.getText();
phone = text_3.getText();
}
if(flag)
{
messageBox = new MessageBox(parent.getShell(),SWT.ICON_QUESTION|SWT.OK|SWT.CANCEL);
messageBox.setMessage("发布人: " + text_1.getText() +
"\nE-mail: " + email +
"\n联系电话: " + phone +
"\n日期: " + datetime +
"\n公告内容: " + message +
"\n\n要发布该公告吗?");
messageBox.setText("确认");
if(messageBox.open() == SWT.OK)
{
if(addPolicy(add_id,type,email,phone,datetime,parentID,message))
{
messageBox = new MessageBox(parent.getShell(),SWT.ICON_INFORMATION);
messageBox.setMessage("公告已成功发布");
messageBox.setText("提示");
messageBox.open();
}
else
{
messageBox = new MessageBox(parent.getShell(),SWT.ICON_ERROR);
messageBox.setMessage("发布公告失败,请检查输入信息是否正确");
messageBox.setText("发布公告失败");
messageBox.open();
flag = false;
}
}
}
if(flag)
clearAll();
}
});
button.setText("发 送");
button.setBounds(484, 403, 85, 22);
button.setVisible(false);
button_1 = new Button(this, SWT.NONE);
button_1.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(final SelectionEvent e) {
clearAll();
}
});
button_1.setText("重 写");
button_1.setBounds(575, 403, 85, 22);
searchName(ID,text_1,button);
}
protected void clearAll(){
text_2.setText("");
text_3.setText("");
text_4.setText("");
text_5.setText("");
button_2.setSelection(true);
}
public void searchName(String ID,Text text,Button button){//sql
if(!ID.equals("Admin"))
{
Connection con;
Statement stmt;
try{
DBCon dbc = new DBCon();
con = DriverManager.getConnection(dbc.url,id,pwd);
stmt = con.createStatement();
String query = "select Name " +
" from Staff " +
" where ID = "+ ID +";";
ResultSet rs = stmt.executeQuery(query);
while( rs.next()){
text.setText(rs.getString("Name"));
}
dbc.dbClose(con,rs);
}
catch(Exception e){
e.printStackTrace();
}
}
else
{
text.setText("Admin");
button.setEnabled(false);
}
}
public void replyObject(Combo combo){//sql
Connection con;
Statement stmt;
try{
DBCon dbc = new DBCon();
con = DriverManager.getConnection(dbc.url,id,pwd);
stmt = con.createStatement();
String query = "select ID " +
" from Policy ";
ResultSet rs = stmt.executeQuery(query);
while( rs.next()){
combo.add(rs.getString("ID"));
}
dbc.dbClose(con,rs);
}
catch(Exception e){
e.printStackTrace();
}
}
public boolean addPolicy(int staffid,int type,String email,String phone,Date date,int parent,String message){//sql
Connection con;
try{
DBCon dbc = new DBCon();
con = DriverManager.getConnection(dbc.url,id,pwd);
CallableStatement cs = con.prepareCall("{call dbo.sp_AddPolicy(?,?,?,?,?,?,?)}");
cs.setInt(1, staffid);
cs.setInt(2, type);
cs.setString(3, email);
cs.setString(4, phone);
cs.setDate(5, date);
cs.setInt(6, parent);
cs.setString(7, message);
cs.execute();
dbc.dbClose(con);
return true;
}
catch(Exception e){
e.printStackTrace();
return false;
}
}
public void listPolicy(){//sql
Connection con;
Statement stmt;
String ptype = "";
try{
list.removeAll();
DBCon dbc = new DBCon();
con = DriverManager.getConnection(dbc.url,id,pwd);
stmt = con.createStatement();
String query = "select a.ID as ID,b.Name as StaffName,a.Type,a.[E-mail],a.Phone,a.InputDate,a.ParentID,a.Message " +
" from Policy a,Staff b " +
" where a.StaffID = b.ID" +
" ORDER BY ID";
ResultSet rs = stmt.executeQuery(query);
while( rs.next()){
list.add("公告编号:" + rs.getString("ID"));
if(rs.getString("Type").equals("1"))
{
ptype = "回复";
list.add("公告类型:" + ptype + "\t 回复公告ID:" + rs.getString("ParentID") + "\t 发布日期:" + rs.getString("InputDate"));
}
else
{
ptype = "公告";
list.add("公告类型:" + ptype + "\t 发布日期:" + rs.getString("InputDate"));
}
list.add("发布人:" + rs.getString("StaffName") + "\t 发布人邮箱:" + rs.getString("E-mail") + "\t 联系电话:" + rs.getString("Phone"));
list.add("公告内容:" + rs.getString("Message"));
list.add("");
}
dbc.dbClose(con,rs);
}
catch(Exception e){
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -